Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Selenium搜索[对象文本]_Python_Selenium_Xpath_Web Scraping_Html Parsing - Fatal编程技术网

Python Selenium搜索[对象文本]

Python Selenium搜索[对象文本],python,selenium,xpath,web-scraping,html-parsing,Python,Selenium,Xpath,Web Scraping,Html Parsing,下面是我的selenium代码 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代码

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()[无论什么]
结尾,这将解析为文本容器,而不是HTML元素(或列表)

提示:在浏览页面时,在Firefox控制台中使用
$x(一些XPath表达式)
尝试XPath表达式


也许您应该编辑您的问题并添加周围的HTML摘录,并准确描述您期望的内容。

由于XPath表达式以
text()[无论什么]
结尾,这将解析为文本容器,而不是HTML元素(或列表)

提示:在浏览页面时,在Firefox控制台中使用
$x(一些XPath表达式)
尝试XPath表达式


也许你应该编辑你的问题并添加周围的HTML摘录,准确描述你的期望。

我在搜索时发现了类似的问题

对我来说,从

//*[@id='form\u main\u step3']/li[2]/div/label[2]/text()

//*[@id='form\u main\u step3']/li[2]/div/label[2]

解决了我的问题


我还发现需要仔细检查正确的DOM元素。YMMV.

我有一个类似的问题,在搜索时发现了这个

对我来说,从

//*[@id='form\u main\u step3']/li[2]/div/label[2]/text()

//*[@id='form\u main\u step3']/li[2]/div/label[2]

解决了我的问题


我还发现需要仔细检查正确的DOM元素。YMMV.

您可以尝试使用
sourcesearch=driver获取文本内容。通过xpath('/*[@id=\\“Table\u Exame\”]/tbody/tr[1]/td)查找元素。文本
然后解析它以提取所需的子字符串。或者执行JavaScript,就像是的,这似乎是一种方式。感谢您可以尝试使用
sourcesearch=driver获取文本内容。通过\u xpath('/*[@id=\“Table\u Exame\”]/tbody/tr[1]/td)查找\u元素。文本
,然后解析它以提取所需的子字符串。或者执行JavaScript,就像是的,这似乎是一种方式。谢谢。我认为通过BeautifulSoup解析整个HTML会更好。周围的HTML就是它本身。这就是我没有发布HTML源代码的原因。如果内容不是用JS(React,Angular,…)构建的,那么使用Beautifulsoup和lxml处理的速度会更快,如果你正在抓取大量页面,另外调试会更容易。谢谢,我现在正在尝试Beautifulsoup。我只是不喜欢导入太多模块的想法。我认为通过BeautifulSoup解析整个HTML会更好。周围的HTML就是它本身。这就是我没有发布HTML源代码的原因。如果内容不是用JS(React,Angular,…)构建的,那么使用Beautifulsoup和lxml处理的速度会更快,如果你正在抓取大量页面,另外调试会更容易。谢谢,我现在正在尝试Beautifulsoup。我只是不喜欢导入太多模块的想法。