gpt4 book ai didi

java - Selenium WebDriver 没有通过 XPATH 找到元素

转载 作者:行者123 更新时间:2023-11-29 05:21:36 25 4
gpt4 key购买 nike

我正在尝试编写一个 Selenium 测试用例,并开始使用 Firefox 中的 Selenium IDE。测试在那里工作得很好。现在我想使用 Selenium Webdriver 自动执行该测试并导出相应的 JAVA 类。到目前为止一切都已设置并且工作正常(Internet Explorer 窗口正在打开,显示相应的页面)。

但是:Selenium Webdriver 没有找到该元素。我想获取以下元素:

<div class="x-grid3-cell-inner x-grid3-col-instance/status" unselectable="on">Open</div>

我有以下代码:

    WebElement openWorkItem = driver.findElement(By.xpath("//div[contains(text(),'Open')]"));
System.out.println(openWorkItem.getText());

在使用 Selenium IDE 的测试用例中,语句几乎相同,并且有效:

<td>//div[contains(text(),'Open')]</td>

唯一的区别是,Selenium IDE 只能在 Firefox 中使用,但最后我想在 IE 中使用 Selenium WebDriver 执行测试。

非常感谢任何帮助。

==更新==我执行了 driver.getPageSource(),现在发现我正在寻找的 HTML 部分不可用,因为它似乎位于 iFrame 中。有什么想法吗?

最佳答案

您可以使用 findElement 获取框架网络元素并将其与 switchto() 方法一起使用。

driver.switchTo().frame(driver.findElement(By.xpath("iframe[contains(@name=pngNewC‌​ase1143241142570_IFrame)]")));

如果你有一些其他的属性,比如 src,你可以试试下面的。

WebElement frame=driver.findElement(By.xpath("//iframe[@src='showNewClaimForm.action']");
driver.switchTo().frame(frame);

关于java - Selenium WebDriver 没有通过 XPATH 找到元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24474978/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com