Selenium 中的 Xpath 通配符以捕获多个结果实例

Los*_*oul 1 python selenium xpath web-scraping

我正在尝试使用 Python、Selenium 和 Xpath 从站点收集一些数据。我想要多个数据点,它们都在这个结构中:

/tr[1]/td
/tr[2]/td
/tr[3]/td
/tr[4]/td
Run Code Online (Sandbox Code Playgroud)

我不知道有多少<tr>,所以我试图以一种只给我所有结果的方式进行搜索(希望在列表中)。我怎么做?

这是我的实际代码,但这只是给我个人结果。我是网络抓取的新手,不确定问题是否出在我的 Xpath 上(没有正确使用通配符,或者它是否与我的 get_attribute 标签有关 - 如果它获得了innerhtml,那么它是否只为单个条目获得它?)

data = driver.find_element_by_xpath('//*[@id="a-stockFinancials_tabs"]/div[2]/div[1]/table/tbody/tr[5]/td').get_attribute("innerHTML")
print data
Run Code Online (Sandbox Code Playgroud)

Ric*_*ard 5

你应该find_elements_by_xpath试一试。

我认为,在没有看到完整 HTML 的情况下,这会起作用:

data = driver.find_elements_by_xpath('//*[@id="a-stockFinancials_tabs"]/div[2]/div[1]/table/tbody/tr/td')
for element in data:
    print element.get_attribute("innerHTML")
Run Code Online (Sandbox Code Playgroud)