Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.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
Selenium 如何处理动态id_Selenium_Xpath - Fatal编程技术网

Selenium 如何处理动态id

Selenium 如何处理动态id,selenium,xpath,Selenium,Xpath,我试图通过录制和播放来探索这个站点的登录按钮xpath。然后我试图通过firepath和chrome浏览器默认xpath复印机获得它 但每次提交按钮xpath都会随着页面加载而改变。我得到了“登录”按钮的以下xpath 您能帮我检索登录按钮的正确xpath吗?我可以在selenium IDE中使用该按钮。您可以使用下面的xpath来处理动态id: //button[starts-with(@id, "yui_patched_v3_11_0_1_")] 但更好的解决方案是使用元素的文本内容: /

我试图通过录制和播放来探索这个站点的登录按钮xpath。然后我试图通过firepath和chrome浏览器默认xpath复印机获得它

但每次提交按钮xpath都会随着页面加载而改变。我得到了“登录”按钮的以下xpath


您能帮我检索登录按钮的正确xpath吗?我可以在selenium IDE中使用该按钮。

您可以使用下面的
xpath
来处理动态
id

//button[starts-with(@id, "yui_patched_v3_11_0_1_")]
但更好的解决方案是使用元素的文本内容:

//button[normalize-space(text())="Sign In"]

您可以使用下面的
XPath
来处理动态
id

//button[starts-with(@id, "yui_patched_v3_11_0_1_")]
但更好的解决方案是使用元素的文本内容:

//button[normalize-space(text())="Sign In"]

我不得不不同意@Andersson的第二句话,因为它适用于
.com
,但不适用于
.nl

正如我所见,该网站使用第二种语言,我的意见是避免在多语言环境中使用基于文本的选择器

同样,正如我看到的,
id
似乎没有一个有意义的值,在本例中,尝试识别一个唯一的父节并从那里开始

css/xpath的一个选项是:

css:
form.sign-in-form按钮


xpath:
//form[contains(@class,'sign-in form')]///button

我不同意@Andersson的第二条语句,因为它适用于
.com
,但不适用于
.nl

正如我所见,该网站使用第二种语言,我的意见是避免在多语言环境中使用基于文本的选择器

同样,正如我看到的,
id
似乎没有一个有意义的值,在本例中,尝试识别一个唯一的父节并从那里开始

css/xpath的一个选项是:

css:
form.sign-in-form按钮


xpath:
//表单[包含(@class,'sign-in-form')]//按钮

,我不同意你的观点:)作为QA,我认为如果你想用
驱动程序在英文版网站上完成授权。get(“https://www.componence.com)
他当然不想得到荷兰版的登录页面是的,你说得对,此外,他还可以使用文本检查翻译是否正确,这可能是一个双重检查:)我可以不同意你的意见:)作为QA,我认为如果想要使用
驱动程序完成网站英文版的授权。获取(“https://www.componence.com)
他当然不想得到荷兰版的登录页面是的,你说得对,他还可以使用文本检查翻译是否正确,这可能是一个双重检查:)