【发布时间】:2017-06-24 10:55:49
【问题描述】:
我已经编写了一个脚本,使用 python 和 selenium 来解析目标页面中的表,为了清楚起见,我在下面尝试描述了一些步骤,可以访问该目标页面。它确实到达了目的地,但是在从该表中抓取数据时它会在控制台中抛出一个错误,显示“无法找到元素”。我尝试使用在线 xpath 测试器查看它是否错误,但我发现我在脚本中用于“td_data”的 xpath 是正确的。我想,我在这里缺少的东西超出了我的知识范围。希望有人来看看它并为我提供解决方法。 顺便说一句,网站链接在我的脚本中给出。
查看表格 html 内容的链接:“https://www.dropbox.com/s/kaom5qzk78xndqn/Partial%20Html%20content%20for%20the%20table.txt?dl=0”
到达我的脚本能够维护的目标页面的步骤:
- 选择“我已阅读并理解以上内容”
- 将此关键字“泵”放在“选择医疗设备”正下方的输入框中。
- 选中复选框“为“泵”找到的设备。
- 最后,按下搜索按钮
到目前为止我尝试过的脚本:
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get('http://apps.tga.gov.au/Prod/devices/daen-entry.aspx')
driver.find_element_by_id('disclaimer-accept').click()
time.sleep(5)
driver.find_element_by_id('medicine-name').send_keys('pump')
time.sleep(8)
driver.find_element_by_id('medicines-header-text').click()
driver.find_element_by_id('submit-button').click()
time.sleep(7)
for item in driver.find_elements_by_xpath('//div[@class="table-responsive"]'):
for tr_data in item.find_elements_by_xpath('.//tr'):
td_data = tr_data.find_element_by_xpath('.//span[@class="hovertext"]//a')
print(td_data.text)
driver.close()
【问题讨论】:
-
能否分享一下 HTML 以便我验证逻辑?
-
感谢您的回复,莫妮卡。我已经用指向 html 内容的链接更新了我的帖子。
标签: python selenium xpath web-scraping web-crawler