搜索结果不会更改URL - 使用Python和Selenium进行Web Scraping

时间:2016-10-25 02:42:05

标签: python selenium url xpath

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

我已经使用Selenium自动将所有者名称输入到表单框中,但是当按下“返回”按钮并显示我的结果时,网站网址不会更改。我尝试使用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

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

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

2 个答案:

答案 0 :(得分:0)

我想你几乎拥有它。

您匹配您感兴趣的元素:

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

答案 1 :(得分:0)

您是否使用了以下xpath?

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

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