我正在使用硒,我想使用“ find_elements_by_xpath”获取html标记的“ id”,但是我遇到了这个错误:
selenium.common.exceptions.InvalidSelectorException:消息:无效 选择器:xpath表达式的结果 “ // body [contains(@ class,'de')] / div / div [contains(@ class,'container-fluid default')] / section [contains(@ id,'mainContent')] / div [contains(@ class,'row-fluid')] / div [contains(@ id,'contentContainer 行流体')] / div [包含(@ class,'content')] / div [包含(@ class,'ses')] / ul / li / @ id“ 是:[object Attr]。应该是一个元素。
当我执行此代码时:
browser.find_elements_by_xpath("//body[contains(@class,'de')]/div/div[contains(@class,'container-fluid default')]/section[contains(@id,'mainContent')]/div[contains(@class,'row-fluid')]/div[contains(@id,'contentContainer row-fluid')]/div[contains(@class,'content')]/div[contains(@class,'ses')]/ul/li/@id")
虽然没有“ / @ id”的相同代码可以正常工作,但是我只在“ li”标签中添加了文本,这不是我想要的。
根据错误,问题出在Xpath。
我希望这段代码将返回“ li” html标记中的所有“ id”,但出现错误。
谢谢您的帮助
答案 0 :(得分:1)
W_modulated = tf.einsum('ijk,bi->bijk', self.W, ux)
是属性,而不是元素。 XPath可以,但是该函数仅返回元素,而不返回属性。我怀疑这里有@id
,但是如果您想找到定义了find_attributes_by_xpath
的{{1}}元素,则可以在量词中指定它:
li
然后您可以调用@id
来检索元素的ID。