当前位置: 首页 > 知识库问答 >
问题:

webdriver在UI上找不到元素

魏冷勋
2023-03-14

我正在尝试使用Java中的selenium web驱动程序测试搜索UI
如果我单击result,它会显示该结果的一些属性。
所以现在当我单击第一个结果时,webdriver可以通过FindElementsByXPath(“//li[@class='clickable ng-binding ng-scope']”)
还尝试了FindElementsByCSS(“*[class='clickable ng-binding ng-scope']”)
但是当webdriver单击第二个结果时,它会显示它们的属性,但是webdriver无法找到属性(与第一个结果具有相同的类名)。

我用这个点击结果-

findElement(By.xpath("/html/body/div[1]/div/div/div[1]/div[2]/div[1]/div[2]/div/els-result["+num+"]/div")).click(); 

其中num是结果号
*此处的堆栈跟踪

org.openqa.selenium.timeoutexception:预期条件失败:正在等待由by.cssselector:*[class='clickable ng-binding ng-scope']定位的所有元素的可见性(尝试15秒,间隔500毫秒)生成信息:版本:'3.1.0',修订版:'86A5D70',时间:'2017-02-16 07:57:44-0800'系统信息:主机:'',IP:'',OS.name:'Mac OS X',OS.arch:'x86_64',OS.version:'10.12.3',java.version:'1.8.0_121'驱动程序信息:org.openqa.selenium.firefox.firefox驱动程序功能[{rott atable=false,raisesaccessibilityexceptions=false,marionette=true,appbuild=20170125094131,version=,platform=mac,proxy={},command_id=1,specificationlevel=0,acceptslcerts=false,processsid=22487,browserversion=51.0.1,platformversion=16.4.0,xulappid={ec8030f7-c20a-464f-9b0e-13a3a9e97384},browsername=firefox,takescreenshot=true,takeselementscreenshot=true,platformname=darwin,firefox_profile=uesdbbqac AgiaOL6AUOAAAAAAAAAAAAAA...,UnexpectedAlertBehaviour=Dismiss}]会话ID:df2df541-1966-5a4b-871c-7cd8c295f4eb(位于org.openqa.selenium.support.ui.webdriverwait.timeoutexception(webdriverwait.java:80)(位于org.openqa.selenium.support.ui.fluentwait.java:257)(位于cucumber.stepdefination.datasearch.findelementsbycss(位于datasearch.java:166)(位于cucumber.stepdefination.assestcountd.assestcountd.matches_list(assestcountd.java:76)(位于cucumber.stepdefination.assestcountd.for_each_source_as)SEST_COUNT_MATCHES_THAT_IN_LIST_ON_RIGHT(assestCounts.java:51)。然后,对于每个源,assest计数与右侧列表中的值匹配(/users/malikh/documents/workspace/cucumber/src/test/resource/assetCount.feature:6)

共有1个答案

汪学真
2023-03-14

我会建议使用Firefox浏览器,并安装它的一个名为'Firepath'的扩展。这将帮助您同时使用“xpath”和“css”来定位UI元素。

 类似资料:
  • 我尝试了这些方法,甚至放置等待,但仍然没有找到元素:

  • 问题内容: 我在python中将selenium与chromedriver一起使用。 我的问题是selenium导致我尝试访问chrome下载页面(chrome:// downloads)上的元素时出现错误。例如,我尝试获取文件URL“ http://file.jpg ”。 但是当我尝试通过其ID获取元素时,出现了异常。 码: 例外: 通过javascript使用也不适合我。在浏览器中可以看到元素

  • 然而,我知道它是失败的前一个命令(如下所示),因为它从来没有点击到这个页面。 失败代码; 也试过;

  • 我正在尝试用Selenium WebDriver、Java、Junit和Cucumber BDD来自动化一个航空公司的web应用程序。我能够创建一个简单的场景,比如选择一个带有出发日期的单程航班,然后选择一个座位,然后继续到付款页面。我能够写出所有的测试步骤,直到到达付款页面。Selenium成功地对所有页面中的所有元素执行了操作,但对支付页面中的任何元素执行了操作,却不成功。我尝试了隐式wait

  • 问题内容: 我正在尝试编写Selenium测试用例,并从Firefox中的Selenium IDE开始。那里的测试工作很好。现在,我想使用Selenium Webdriver自动化该测试,并导出相应的JAVA类。到目前为止,一切都已设置并且运行良好(Internet Explorer窗口正在打开,显示相应的页面)。 但是:Selenium Webdriver找不到元素。我想获得以下元素: 而且我有

  • 问题内容: 因为我还没有找到解决方案,所以从两个月前开始颠簸。我正在使用Firefox驱动程序来查找,然后单击名为“收件箱”的超链接,但是经过详尽的尝试,Selenium仍然找不到该元素。由于我确实无法找到Selenium webdriver无法找到该元素的原因,因此可以提供任何帮助。 在下面的HTML代码中,我认为可能有一个框架,但找不到。 如果有人可以确认以下代码中实际上没有iframe,将不