我收到语法错误:
SyntaxError: Failed to execute 'evaluate' on 'Document': The string '//img[contains('1236548597')]' is not a valid XPath expression.
我的代码:
enter_chat = driver.find_element_by_xpath("//img[contains('1236548597')]")
enter_chat.click()
答案 0 :(得分:0)
应该是
enter_chat = driver.find_element_by_xpath("//img[contains(text(),'1236548597')]")
enter_chat.click()
if "//img[contains(text(),'1236548597')]" not work,
try "//img[contains(.,'1236548597')]"
您错过了text()函数。
答案 1 :(得分:0)
此错误消息...
SyntaxError: Failed to execute 'evaluate' on 'Document': The string '//img[contains('1236548597')]' is not a valid XPath expression.
...表示您使用的 XPath 不是有效的 XPath 表达式。
在您的代码试用中,带有contains()
函数的谓词有问题。
contains()
接受两个参数。第一个参数始终是要测试的属性,第二个参数是要查找的 value 。第一个参数应该是属性,其中包含值 1236548597 :
enter_chat = driver.find_element_by_xpath("//img[contains(@<attributeName>,'1236548597')]")
如果没有相关的HTML,就很难构建答案。但是,两种可能的解决方案如下:
如果标签是<a>
标签,并且包含img
属性,标签中包含值 1236548597 :
enter_chat = driver.find_element_by_xpath("//a[contains(@img,'1236548597')]")
如果标签是<img>
标签,并且包含src
属性,标签中包含值 1236548597 :
enter_chat = driver.find_element_by_xpath("//img[contains(@src,'1236548597')]")