【问题标题】:Get text from the page using find_element_by_xpath convert to selenium [duplicate]使用 find_element_by_xpath 从页面获取文本转换为 selenium [重复]
【发布时间】:2020-01-13 19:42:19
【问题描述】:

我想在下面的 HTML 中获取文本 “Cleaning General: Audit Based Update”。它应该有 xpath:

//*[@id="context_bar"]/table/tbody/tr/td[5]/div

如何将以下 Python ElementTree 代码转换为 Selenium?

browser.find_element_by_xpath('//*[@id="context_bar"]/table/tbody/tr/td[5]/div/@title').text()

使用以下 HTML:

【问题讨论】:

  • 1) 我们无法重现此内容,因为我们没有 HTML。请张贴网址。 2)你得到什么错误/问题?当您尝试通过连续添加部件来调试 XPATH 时,它在哪里停止工作?
  • 嗨,1) 内部站点 2) 我只想打印文本。
  • 1) 好的,但我们无法重现它。 2) 没关系。要调试 xpath,我知道的唯一合理的方法是从 '//*[@id="context_bar"]/table/tbody 开始,检查它是否有效,然后一次添加一个 xpath 组件,直到找到问题所在。告诉我们那在哪里。如果您不调试它并更好地描述问题,那么我们无法帮助您。
  • 嗨,这个代码你可以转换成硒title = html.etree.HTML(content).xpath('//*[@id="context_bar"]/table/tbody/tr/td[5]/div/@title')[0]
  • 哦,您要求我们将 Python ElementTree 代码转换为 Selenium。我不知道 Selenium,但应该很容易,请参阅 Selenium 文档。

标签: python selenium xpath


【解决方案1】:

你调用的方法是find_element_by_xpath,所以它会返回一个元素。 如果要获取元素的属性,则需要调用elem.get_attribute(...)

div = browser.find_element_by_xpath('//*[@id="context_bar"]/table/tbody/tr/td[5]/div')
title = div.get_attribute('title')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-13
    • 1970-01-01
    • 1970-01-01
    • 2013-08-01
    • 1970-01-01
    • 2012-11-13
    • 1970-01-01
    相关资源
    最近更新 更多