我收到语法错误:

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()

最佳答案

此错误消息...

SyntaxError: Failed to execute 'evaluate' on 'Document': The string '//img[contains('1236548597')]' is not a valid XPath expression.


...暗示您使用的XPath不是有效的XPath表达式。

在您的代码试用中,带contains()函数的谓词有问题。


contains()接受两个参数。第一个参数始终是要测试的属性,第二个参数是要查找的值。第一个参数应该是包含值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')]")

10-07 18:50