【问题标题】:Selenium get text from a table cell (td) with XPathSelenium 使用 XPath 从表格单元格 (td) 获取文本
【发布时间】:2016-02-06 22:01:14
【问题描述】:

元素是<td>20175</td>

元素的Xpath是//*[@id="body"]/table/tbody/tr[1]/td/table[2]/tbody/tr/td[2]/table/tbody/tr[4]/td[1]

我想参加20175

我试过了

  elems = browser.find_elements_by_xpath("""//*[@id="body"]/table/tbody/tr[1]/td/table[2]/tbody/tr/td[2]/table/tbody/tr[4]/td[1]""")

  print (elems)

但它给我的不是文字。

selenium.webdriver.remote.webelement.WebElement (session="77dc0a7bef8dadbf9aec1ddbab9e3a91", element="0.027053967816755176-1")>]

【问题讨论】:

  • 尝试寻找另一种方法从该表中获取该元素 长 xpath 将来会给您带来麻烦(网站中表的微小更改会破坏您的应用程序)

标签: python html selenium xpath


【解决方案1】:

您看到打印的是WebElement 实例字符串表示。相反,获取.text:

elem = browser.find_element_by_xpath("""//*[@id="body"]/table/tbody/tr[1]/td/table[2]/tbody/tr/td[2]/table/tbody/tr[4]/td[1]""")
print(elem.text)

或者,如果有多个元素匹配定位器:

elems = browser.find_elements_by_xpath("""//*[@id="body"]/table/tbody/tr[1]/td/table[2]/tbody/tr/td[2]/table/tbody/tr[4]/td[1]""")
print([elm.text for elm in elems])

【讨论】:

  • @MelihMuhammetGundogdu:最好的感谢方式是投票和accept这个答案,如果有帮助的话。
猜你喜欢
  • 1970-01-01
  • 2018-07-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-19
  • 2018-05-06
相关资源
最近更新 更多