我使用driver.findElement(By.xpath("//a[@title='A K T İ V A S Y O N']"));来定位屏幕截图中给出的元素,但是得到了Unable to find element错误。




还有嵌套类和框架。如何将开关方法用于嵌套帧?
我的最后一次尝试是下面的一次,截屏也附上去了。

driver.findElement(By.xpath("//frameset@id=‘fset1’//frame@name=‘ax’//frame@name=‘菜单’//div@id=‘vodaMenuDiv’//li@id=“CCBmain”//li@id=‘ccbabone’//li@id=‘ccbcquery’//a@title='A K TİV A S Y O N‘")).click();
发布于 2019-04-16 13:03:11
使用下面的选项来定位元素-
driver.findElement(By.xpath("//li[@id='ccbcquery']/a")).click();等效css选择器是
driver.findElement(By.cssSelector("li[id='ccbcquery']>a")).click();或
driver.findElement(By.cssSelector("li#ccbcquery>a")).click();driver.switchTo().frame(frameid/element);切换到各自的帧,然后执行操作发布于 2019-04-19 13:20:34
如果您找不到一个元素,您需要检查它是否在一个框架内(或者iframe)。框架集是在多个框架中分割窗口的一种方法,它充当一个单独的窗口。Selenium需要先切换到此框架,然后才能在其中找到元素。
最后一个图像显示元素在多个框架集和框架内。由于框架不是页面的一部分,而是它的一种页面,所以您首先需要切换到框架,然后才能找到元素。
看看下面的一些内容:
发布于 2020-10-16 20:03:32
通过使用:https://github.com/nick318/FindElementInFrames
你可以写:
SearchByFramesFactory searchFactory = new SearchByFramesFactory(driver);
searchFactory.search(() -> driver.findElement(By.xpath("//a[@title='A K T İ V A S Y O N']"))).getElem();它会在任意的iframes中找到您的元素。
https://sqa.stackexchange.com/questions/38746
复制相似问题