python-3.x - 我正在尝试从某些网站的搜索结果中提取纯文本
问题描述
我正在按照自己的节奏学习 python 并且一直被困在一个问题上。我试图通过在命令行上运行 python 脚本将搜索结果显示为纯文本。这就是我所拥有的;它会打开 Firefox,启动网站并用地址自动填充搜索框,正如您在右下角看到的那样,它会为您提供地图参考。
import html
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
browser = webdriver.Firefox()
browser.get("https://www.street-directory.com.au/vic")
elem = browser.find_element_by_name("searchtxt")
elem.send_keys("595 Little Collins Street, Melbourne, VIC 3000" + Keys.RETURN)
无论我尝试了什么,我都无法显示该框内容的纯文本结果。任何帮助将不胜感激
解决方案
这是应该工作的一段代码。
url = r"https://www.street-directory.com.au/vic"
# navigate to url
driver.get(url)
# get the current map ref number (we have to wait until this is updated when new address is entered)
oldMapRefNumber = driver.find_element_by_id("MapReference Number").text
# wait for the search
search = WebDriverWait(driver,30).until(EC.presence_of_element_located((By.NAME,"searchtxt")))
# send the address and hit enter
address = "595 Little Collins Street, Melbourne, VIC 3000"
search.send_keys( address + Keys.RETURN)
# wait the popup to display with the specified address (optional)
WebDriverWait(driver,60).until(EC.presence_of_element_located((By.XPATH,"//div[@class='info-lyr-prop-top']")))
# wait until the old map ref number is updated
WebDriverWait(driver,60).until_not(EC.presence_of_element_located((By.XPATH,"//div[@id='MapReference Number'][.='" +oldMapRefNumber + "']")))
# get the new map ref number
mapRefNumber = driver.find_element_by_id("MapReference Number").text
# print the new map ref number
print(mapRefNumber)
输出:
43 F9
推荐阅读
- react-native - 为什么我的 RN 视频组件的 onLoad 事件没有触发?
- c - items[(int)(type - '1')] 在这个 printf 语句中是什么意思?
- asp.net - 为什么有些 cookie 的名称旁边有“文件系统”?
- python - Python/Jupyter Notebook 打印命令确实会破坏程序
- javascript - 尝试验证表单时出现“TypeError”
- local-storage - 如何将本地存储用于货币切换器?
- sql - 在oracle中根据self join更新列
- php - Google Calendar API InvalidArgumentException:“无效代码”
- python - 将深度解析输出转换为数据框
- html - 当文本用 flex 换行到第二行时,无法在图像旁边对齐文本