Python Selenium使用xpath从tr内的td获取数据

我在 Python 项目中使用 Selenium,我想使用以下代码获取表中的数据:


xpath = "//div[@id='tab_highscore']//table[contains(@class, 'highscore')]//tr"

users = driver.find_elements_by_xpath(xpath)


for u in users:

    xpath = "//td[@class='name']"

    userTd = u.find_elements_by_xpath(xpath)[0]

    user = userTd.get_attribute('innerText')


    xpath = "//td[@class='score']"

    scoreTd = u.find_elements_by_xpath(xpath)[0]

    score = scoreTd.get_attribute('innerText')


    usersArr.append({"name":user, "ally":ally, "score":score})

在用户和分数中我总是得到第一个 tr 值的问题,知道问题是什么吗?


叮当猫咪
浏览 95回答 1
1回答

HUH函数

您需要指定指向每次迭代的特定上下文节点(XPath 表达式开头的点) :ufor u in users:     xpath = ".//td[@class='name']"     userTd = u.find_element_by_xpath(xpath)     ...PS 使用find_element_by_xpath(xpath)代替find_elements_by_xpath(xpath)[0]和.text代替.get_attribute('innerText')
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python