【问题标题】:Search results don't change URL - Web Scraping with Python and Selenium搜索结果不会更改 URL - 使用 Python 和 Selenium 进行 Web Scraping
【发布时间】:2017-03-06 22:42:37
【问题描述】:

我正在尝试创建一个 python 脚本来抓取公共县记录网站。我最终希望能够拥有一个所有者名称列表,并且脚本会遍历所有名称并提取最新的信任契约信息(贷方名称和提交日期)。对于下面的代码,我只是将所有者名称写为字符串“ANCHOR EQUITIES LTD”。

我使用 Selenium 自动将所有者姓名输入到表单框中,但是当按下“返回”按钮并显示我的结果时,网站 url 不会改变。我尝试使用 xpath 在表中查找特定文本,但是当我查找它时该路径不存在。我得出的结论是该路径不存在,因为它正在第一页上搜索 xpath,但没有显示任何结果。 BeautifulSoup4 在这种情况下不起作用,因为解析 url 只会返回一个空白的搜索表单 html

请参阅下面的代码:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

browser = webdriver.Chrome()

browser.get('http://deed.co.travis.tx.us/ords/f?p=105:5:0::NO:::#results')

ownerName =  browser.find_element_by_id("P5_GRANTOR_FULLNAME")

ownerName.send_keys('ANCHOR EQUITIES LTD')

docType = browser.find_element_by_id("P5_DOCUMENT_TYPE")
docType.send_keys("deed of trust")

ownerName.send_keys(Keys.RETURN)

print(browser.page_source)

#lenderName = browser.find_element_by_xpath("//*[@id=\"report_results\"]/tbody[2]/tr/td/table/tbody/tr[25]/td[9]/text()")
    enter code here

我已经注释掉了给我带来麻烦的变量。请帮忙!!!

如果我没有正确解释我的问题,请随时提问,我会解决任何问题。

【问题讨论】:

  • 那行代码抛出是错误,还是你认为的错误?

标签: python selenium url xpath


【解决方案1】:

我想你差不多了。

你匹配了你有兴趣使用的元素:

lenderNameElement = browser.find_element_by_xpath("//*[@id=\"report_results\"]/tbody[2]/tr/td/table/tbody/tr[25]/td[9]")

接下来您访问该元素的文本:

lenderName = lenderNameElement.text

或一步完成:

lenderName = browser.find_element_by_xpath("//*[@id=\"report_results\"]/tbody[2]/tr/td/table/tbody/tr[25]/td[9]").text

【讨论】:

  • 感谢您的帮助。我想通了。
【解决方案2】:

你用过以下xpath吗?

//table[contains(@summary,"Search Results")]/tbody/tr

我已经检查过它的工作是否完美。在那,你必须迭代每个 tr

【讨论】:

    猜你喜欢
    • 2017-05-14
    • 2020-01-16
    • 2018-11-11
    • 2018-02-13
    • 1970-01-01
    • 2019-04-25
    • 1970-01-01
    • 2020-08-18
    • 1970-01-01
    相关资源
    最近更新 更多