Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.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(Java)消息;无法定位元素“0”;但是元素和xpath是存在的_Java_Selenium_Exception_Xpath_Webdriver - Fatal编程技术网

Selenium(Java)消息;无法定位元素“0”;但是元素和xpath是存在的

Selenium(Java)消息;无法定位元素“0”;但是元素和xpath是存在的,java,selenium,exception,xpath,webdriver,Java,Selenium,Exception,Xpath,Webdriver,我不熟悉SeleniumWebDriver,使用NetbeansJava和Firefox的Firebug来获取xpath。 问题是,即使某些元素在浏览器中可见且可单击,并且firebug找到了xpath,我仍然会遇到一个错误“无法定位元素”。问题是,元素不在框架中(并没有框架),不在另一个窗口中,它是可见的、可单击的,并且有清晰的xpath。 我用等待和线程。睡眠,没有帮助。 此外,我还尝试了在Stackoverflow上找到的与此类似的所有解决方案。 元素位于表的内部,表中有一些“div”元素

我不熟悉SeleniumWebDriver,使用NetbeansJava和Firefox的Firebug来获取xpath。 问题是,即使某些元素在浏览器中可见且可单击,并且firebug找到了xpath,我仍然会遇到一个错误“无法定位元素”。问题是,元素不在框架中(并没有框架),不在另一个窗口中,它是可见的、可单击的,并且有清晰的xpath。 我用等待和线程。睡眠,没有帮助。 此外,我还尝试了在Stackoverflow上找到的与此类似的所有解决方案。 元素位于表的内部,表中有一些“div”元素。这是xpath:

.//*[@id='NavigationRadPanelBar_i2_i0_trvStandardView']/ul/li[3]/div/span[3]
面板似乎是个问题,因为它也找不到面板。我在同一个面板中尝试了另一个元素,它的标题和文本如下:

driver.findElement(By.xpath("//*[contains(text(),'Technical Attributes')]")).click();   
但还是得到了同样的信息。此面板内的所有元素和面板本身类似。不管我怎么试,都找不到。这个面板之外的一切都可以与驱动程序一起正常工作。 页面有一个左侧面板,这些元素位于其中,其中一些是可以扩展的节点,一些只是链接,但什么也找不到。 元素明显存在且可见,但WebDriver仍无法定位的原因是什么

我试图找到主面板:

    driver.findElement(By.xpath(".//*[@id='NavigationRadPane']")).click();
但还是一样的例外

这是html的一部分(非常长):


      • 技术属性
这样,驱动程序将切换到您单击的面板。然后,您可以在面板中执行所需的其余操作


这样,驱动程序将切换到您单击的面板。然后,您可以在面板中执行所需的其余操作。

以下是问题的答案:

错误表明,由于
xpath
对我来说似乎不正确,所以所有
都无法定位元素

如果您想单击<代码>标题>代码>设置为<代码>技术属性< /代码>,您可以考虑尝试使用以下XPath:

//div[@id='NavigationRadPanelBar_i2_i0_trvStandardView']/ul/li/li/li/div/span[@class='rtIn']


如果回答了您的问题,请告诉我。

以下是您问题的答案:

错误表明,由于
xpath
对我来说似乎不正确,所以所有
都无法定位元素

如果您想单击<代码>标题>代码>设置为<代码>技术属性< /代码>,您可以考虑尝试使用以下XPath:

//div[@id='NavigationRadPanelBar_i2_i0_trvStandardView']/ul/li/li/li/div/span[@class='rtIn']



如果这能回答您的问题,请告诉我。

谢谢您提供此信息。如果你能分享左侧面板元素的HTML,那就太好了。我粘贴了HTML的一部分。希望有帮助。你确定在第一次加载页面时它存在吗?如果它是面板的一部分,则必须单击/展开某些内容才能创建该元素,这是可能的。面板有一个“解锁”选项(pin),但pin当前已放置,因此它会立即打开。这可能是原因吗,即使面板被固定以便打开?可能是因为整个面板被固定,并且在取消固定时需要通过单击来展开?谢谢,fo提供了此信息。如果你能分享左侧面板元素的HTML,那就太好了。我粘贴了HTML的一部分。希望有帮助。你确定在第一次加载页面时它存在吗?如果它是面板的一部分,则必须单击/展开某些内容才能创建该元素,这是可能的。面板有一个“解锁”选项(pin),但pin当前已放置,因此它会立即打开。这可能是原因吗,即使面板被固定以便打开?可能是因为整个面板被固定,并且在取消固定时需要通过单击来展开?问题是面板也“无法定位”。我不知道如何使用它,我试过了,但它仍然抛出异常。问题是面板也“无法定位”。我不知道如何使用这个,我试过了,但它仍然抛出异常。很抱歉,只是试过,没有工作。同样的错误。这条路径似乎是正确的,所以它必须是其他原因,而不是路径。谢谢你的帮助。@BiljanaM。您现在看到的错误是什么?你能更新问题区域中的错误堆栈跟踪吗?它是相同的:线程“main”org.openqa.selenium.NoSuchElementException中的异常:无法定位元素://div[@id='NavigationRadPanelBar\u i2\u i0\u trvStandardView']/ul/li/li/div/span[@title='Technical Attributes']@BiljanaM。当您在我建议的xpath上获得
NoTouchElementException
时,并且还使用
xpath
作为
/*[@id='NavigationRadPane']
时,我确信元素在
iFrame
中,或者您需要导出
明确的方法。Thanks@BiljanaM. 如果URL是一个公共URL,请考虑共享它,这样我就可以帮助你了。谢谢对不起,我刚试过,没用。同样的错误。这条路径似乎是正确的,所以它必须是其他原因,而不是路径。谢谢你的帮助。@BiljanaM。您现在看到的错误是什么?你能更新问题区域中的错误堆栈跟踪吗?它是相同的:thre中的异常
//div[@id='NavigationRadPanelBar_i2_i0_trvStandardView']/ul/li/li/li/div/span[@class='rtIn']
//div[@id='NavigationRadPanelBar_i2_i0_trvStandardView']/ul/li/li/li/div/span[@title='Technical Attributes']