Python Selenium搜索[对象文本]
下面是我的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]”是:[对象文本
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。我只是不喜欢导入太多模块的想法。