Python - Selenium和XPATH从表中提取所有行

jde*_*vio 6 python selenium xpath web-scraping selenium-webdriver

我使用Selenium和XPATH从表中提取所有行,但只能获取第一行.

这是我在做的事情:

from selenium import webdriver

path_to_chromedriver = '/Users/me/Desktop/chromedriver'
browser = webdriver.Chrome(executable_path = path_to_chromedriver)

url = "http://www.psacard.com/smrpriceguide/SetDetail.aspx?SMRSetID=1055"

browser.get(url)
browser.implicitly_wait(10)

SMRtable = browser.find_element_by_xpath('//*[@class="set-detail-table"]/tbody')

for i in SMRtable.find_element_by_xpath('.//tr'):
    print i.get_attribute('innerHTML')

browser.close()
Run Code Online (Sandbox Code Playgroud)

SMRtable当我转换为字符串并打印时,变量包含其中的所有行.当我尝试循环它时,它会抛出一个not iterable错误.

我也尝试过使用browser.find_element_by_xpath('//*[@class="set-detail-table"]/tbody/tr'),但这只给了我第一行.我尝试添加[position()>0]之后/tr,但仍然只是第一行.

我如何获得所有行?

ale*_*cxe 5

您需要find_elements_by_xpath()(注意“ s”):

for i in SMRtable.find_elements_by_xpath('.//tr'):
    print i.get_attribute('innerHTML')
Run Code Online (Sandbox Code Playgroud)