【发布时间】:2021-06-23 06:17:07
【问题描述】:
我正在尝试使用 Firefox 从受密码保护的网站上抓取表格,在我可以访问表格之前,我需要选择产品,填写起始日期和结束日期并滑动以进行验证。我只想抓取每日价格。
我尝试了以下代码,但它返回一个空列表:
enter code here
driver = webdriver.Firefox(firefox_profile=profile)
number_elements = driver.find_elements_by_xpath("//td[contains(text(), 'N')]")
for number_element in number_elements:
print(number_element.text)
下面的代码也返回一个空列表
driver.find_elements_by_xpath(".//div[@class='tabTypeNav']")
我尝试了下面的代码,但它会刮掉页面上的所有其他表格,希望找到我正在寻找的表格。
for tr in driver.find_elements_by_tag_name("tr"):
for td in tr.find_elements_by_tag_name("td"):
print(td.get_attribute("innerText"))
更新,我设法刮掉了表格中的元素!!
表格内容包含在 iframe 中,所以我使用了:
driver.switch_to.frame(0)
table = driver.find_element_by_xpath("//body/div[@class='tabBox']/div[@class='tabCont']/div[1]/div[1]/table[1]")
table.get_attribute("textContent")
【问题讨论】:
-
number_element.get_attibute('textContent') 试试看
-
@ArundeepChohan 谢谢,我已经尝试过了,但它返回了错误文件“
”,第 1 行,在 number_elements.get_attribute('textContent') AttributeError:“列表”对象没有属性“get_attribute” -
需要验证哪些列?
-
嗨@vitaliis 我想要表格中的所有内容、产品、日期和价格
-
检查我的答案。一般来说应该工作。如果没有,请使用定位器。例如,尝试将 td:nth-of-type(2) 更改为 td:nth-of-type(3) 以检查所需的答案。
标签: python html selenium web-scraping