这是我的硒代码。
sourcesearch = driver.find_element_by_xpath('//*[@id=\"Table_Exame\"]/tbody/tr[1]/td/text()[1]')
结果是 -
selenium.common.exceptions.InvalidSelectorException:消息:无效的选择器:xpath表达式的结果“// * [@ id =”Table_Exame“] / tbody / tr [1] / td / text()[1]”是: [对象文本]。它应该是一个元素。
我有什么方法可以通过Selenium检索[对象文本]吗?任何形式的帮助将不胜感激。
除了Xpath之外的任何其他内容都不可用,因为该站点没有为文本添加任何标记。此外,抱歉无法包含网站地址,因为它只是一个会员专用网站。
当您的XPath表达式以text()[whatever]
终止时,这将解析为文本容器,而不是HTML元素(或列表)。
提示:在浏览页面时,使用$x(some_xpath_expression)
在Firefox控制台中尝试XPath表达式。
也许您应该编辑您的问题并添加周围的HTML摘录并准确描述您的期望。
我有类似的问题,在搜索时发现了这个问题。
对我来说,截断xpath
// * [@ id中= 'form_main_step3'] /锂[2] / DIV /标签[2] /文本()
至
// * [@ id中= 'form_main_step3'] /锂[2] / DIV /标签[2]
解决了我的问题。
我还发现需要注意检查正确的DOM元素。因人而异。