无法在Selenium Java中找到图像xpath



我在无法使用 xpath 找到元素时遇到了一些问题,如果有人可能知道问题可能是什么,我正在寻找一些输入。这是我尝试访问的元素。

<body id="tinymce">
<p>
<img class="some-class-name" src="/path/to/url" data-macro-name="macro-name" data-macro- 
parameters="macro|params" data-macro-schema-version="1">
<span id="_caret" data-mce-bogus="true" style=""><u></u></span>
</p>
</body>

这是我必须找到并使用它的页面对象代码。

@FindBy(xpath = "//*[@id="tinymce"]/p/img")
private WebElement cnfGraph;
public void verifyGraphEditPresent()  {
WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.visibilityOf(cnfGraph));
}

我不断收到以下错误

no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="tinymce"]/p/img"}

我也尝试将定位器更改为图像的类名或正文的 id,但没有任何选择。

任何帮助或建议不胜感激。谢谢

我能够通过将驱动程序切换到 html 所在的 iframe 来解决此问题。

public void verifyGraphEditPresent()  {
driver.switchTo().frame(driver.findElement(By.id("wysiwygTextarea_ifr")));
WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.visibilityOf(cnfGraph));
driver.switchTo().defaultContent();
} 

解决方案来自这里 https://stackoverflow.com/a/24254740/11865571 由@MentallyRecursive在评论中提供

最新更新