gpt4 book ai didi

java - Webdriver 确实存在时没有这样的元素,我已经等待了足够长的时间

转载 作者:行者123 更新时间:2023-11-30 18:02:50 24 4
gpt4 key购买 nike

我使用 WebDriver 不是为了测试,而是为了做例行的事情,比如查明我的账户余额。

在这样做的过程中,我有一些未找到的元素,我遍历窗口并能够登录。

现在我已经登录了,我已经使用了按 id 查找、按 xpath 查找、按类查找但找不到对象来获取页面上的余额(至少我可以查看它并且它在 Firebug )。我打印了页面源,但页面源只有初始源,没有 javascript 修改。

我试图通过正文的 javascript 获取内部 html,但它仍然为我提供了通过页面源代码获取的 html。

WebDriver 是否可能没有访问 DOM?

我看到的所有帖子都说你必须等待足够长的时间,而我隐含地等待了 30 秒。我倾向于认为这不是等待问题。

当我使用 firebug 时,我看到了元素,这就是我获得 xpath 的方式。但是用xpath找不到。

如果我能将源代码(由 javascript 生成)保存到所有元素都存在的文件中,我什至会感到满意。

我在 firefox 和 windows xp sp3 上使用它。

我用这段代码遍历 iframe

List <WebElement> framesList = driver.findElements(By.xpath("//iframe"));
for(WebElement frame:framesList){
element = driver.findElement(By.className("account-balance"));
String et= element.getText();
System.out.println(et);
}

System.out.println("frames:" + framesList.size());

我得到 frames:0 它没有检测到任何帧。

最佳答案

您需要将 .findElement 包装在 try/catch 中。在 try catch 子句中,并使用循环,您可以将隐式超时减少到 5 秒,然后您可以重试,直到不再有异常为止。也许你会从my post here得到一些想法.

关于java - Webdriver 确实存在时没有这样的元素,我已经等待了足够长的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16490725/

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