Selenium使用XPath从表格单元格(td)获取文本

Mel*_*gdu 1 html python selenium xpath

元素是 <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)
Run Code Online (Sandbox Code Playgroud)

但它给了我的不是文本.

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

ale*_*cxe 7

您看到的内容是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)
Run Code Online (Sandbox Code Playgroud)

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

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])
Run Code Online (Sandbox Code Playgroud)

  • @MelihMuhammetGundogdu:如果有帮助,最好的方法是upvote和[**accept**](http://meta.stackoverflow.com/q/5234/234215)这个答案. (4认同)