Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.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 更改XPath_Python_Selenium_Xpath - Fatal编程技术网

Python 更改XPath

Python 更改XPath,python,selenium,xpath,Python,Selenium,Xpath,每次我尝试使用的页面刷新时,我都会得到一个不断变化的id start-with@id contains@id /*[@id=“mat-input-2”]每次刷新我尝试过的页面时,输入后的2都会更改 每次我尝试新事物时,都会出现这样的错误 语法错误:未能对“文档”执行“评估”:字符串“/*[以(@id=“mat input-”)开头]”不是有效的XPath表达式 我在谷歌上搜索了所有地方,尝试了所有我不知道还能做什么,所以我最后的办法就是尝试这个论坛 谢谢你的帮助祝你过得愉快你用错了。应该是 '

每次我尝试使用的页面刷新时,我都会得到一个不断变化的id

start-with@id
contains@id
/*[@id=“mat-input-2”]
每次刷新我尝试过的页面时,输入后的2都会更改

每次我尝试新事物时,都会出现这样的错误

语法错误:未能对“文档”执行“评估”:字符串“/*[以(@id=“mat input-”)开头]”不是有效的XPath表达式

我在谷歌上搜索了所有地方,尝试了所有我不知道还能做什么,所以我最后的办法就是尝试这个论坛


谢谢你的帮助祝你过得愉快

你用错了。应该是

'//*[starts-with(@id, "mat-input-")]'
注意逗号而不是等号

p.S.
相同,包含此错误消息

SyntaxError: Failed to execute 'evaluate' on 'Document': The string '//*[starts-with(@id="mat-input-")]' is not a valid XPath expression
…表示您使用的不是有效的XPath表达式

看来你就快到了。只需将
=
字符替换为
字符即可使其成为有效的xpath表达式,您可以使用以下任意一种方法:

  • 使用xpath和
    开始-with()

  • 使用xpath和
    contains()

  • 使用cssSelector并从以下内容开始:

  • 使用cssSelector并包含:


工具书类 您可以在以下内容中找到一些相关的详细讨论:


这帮了我的忙,我从来没有想到过。谢谢你,我已经连续两天在解决这个问题了,终于成功了
//*[starts-with(@id, "mat-input-")]
//*[contains(@id, "mat-input-")]
[id^='mat-input-']
[id*='mat-input-']