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
';的Xpath 2错误无效;单击';硒功能_Xpath_Selenium - Fatal编程技术网

';的Xpath 2错误无效;单击';硒功能

';的Xpath 2错误无效;单击';硒功能,xpath,selenium,Xpath,Selenium,我已经使用Selenium IDE 2.3.0运行了一个测试,并将Junit4/远程控制脚本复制到Eclispe Classic 4.2.2中,并开始以“Junit4”的形式运行我的代码 我看到以下错误: Invalid Xpath 2 Eclipse for Xpath中的selenium命令是: selenium.click("//input[@value='Search Equipment']"); 我尝试使用Firebug复制Xpath,它是: /html/body/section[

我已经使用Selenium IDE 2.3.0运行了一个测试,并将Junit4/远程控制脚本复制到Eclispe Classic 4.2.2中,并开始以“Junit4”的形式运行我的代码

我看到以下错误:

Invalid Xpath 2
Eclipse for Xpath中的selenium命令是:

selenium.click("//input[@value='Search Equipment']");
我尝试使用Firebug复制Xpath,它是:

/html/body/section[2]/section/div/div/div/form/div[2]/div[2]/div/span/input

但是我得到了同样的错误。

根据您的问题,我理解您需要单击“搜索设备”按钮。 因此,请尝试使用以下xpath:

selenium.click("//span[@id= 'rba-keyword-submit']/input")

启动selenium record并在您的文本框中输入一些内容,或者如果是按钮,请单击按钮,然后单击停止。您可以通过转到selenium IDE中相关步骤中的目标来获得正确的xpath。使用最后一个xpath。

您也可以给出html的相关部分吗?以下是从selenium IDE复制的html部分:selenium。单击(“//输入[@value='Search Equipment']”;我是否需要在我的xpath表达式中添加@type=submit?即selenium。单击(“//input[@value='Search Equipment']”和[@type='submit')我相信@Babai要求的是页面html的相关部分(不是selenium IDE测试)。谢谢Justin Ko。页面html可以在这里找到:我正在处理特定对象“搜索设备”,而“搜索设备”的html是:感谢您的回复。是的,您是对的,我必须单击“搜索设备”按钮,我使用了您提供的xpath,但它给我相同的错误:无效的xpath 2可能是I c请再试一次。试试这个xpath:(我注意到一件事,它可能有助于解决这个问题。录制时生成的实际selenium IDE命令是:“Command='ClickAndWait'和target=//input[@value='Search-Equipment'],而“value”中没有任何内容字段,因为这只是一个单击功能。但是,当我将html版本更改为Java/Junit4/Remote control之后,Junit远程控制代码中的“ClickAndWait”命令将仅更改为“click”。我想这可能是导致问题的原因。wait命令已分离到下一行,即selenium.waitForPageToLoad(“30000”);