gpt4 book ai didi

java - 在 iframe 中找不到 Selenium 元素

转载 作者:行者123 更新时间:2023-12-01 18:08:26 25 4
gpt4 key购买 nike

我正在尝试检索 JSON 元素,问题是在源代码中它不存在,但我可以通过检查元素找到它。

我尝试过

C.driver.findElement(By.id("ticket-parsed"))

并通过 XPath

C.driver.findElement(By.xpath("//*[@id=\"ticket_parsed\"]"));

我找不到它。

还有

C.driver.switchTo().frame("html5-frame"); 
System.out.println(C.driver.findElement(By.id("ticket_parsed")));
C.driver.switchTo().defaultContent();

我明白了

[[ChromeDriver: chrome on XP (1f75e50635f9dd5b9535a149a027a447)] -> id: ticket_parsed]  

 driver.switchTo().frame(0) or driver.switchTo().frame(1) 

我发现框架不存在

最后我尝试了

 WebElement frame = C.driver.findElement(By.id("html5-frame"));
C.driver.switchTo().frame(frame.getAttribute("ticket_parsed"));

我遇到了空指针异常

这是来源图像:

enter image description here

我做错了什么?

最佳答案

好吧!

元素#ticket-parsed位于iFrame中。因此,您可以单击它而无需进入 iframe。

这是切换到 iFrame 的代码

driver.switchTo().frame("frame_name");

driver.switchTo().frame(frame_index);
<小时/>

就您而言,

driver.switchTo().frame("html5-frame");

切换到 iframe 后,您可以使用 XPath 或 CSS 单击该元素。

C.driver.findElement(By.id("ticket-parsed"))
<小时/>

注意:完成 iframe 内的操作后,您必须使用以下命令再次返回主窗口。

driver.switchTo().defaultContent();

关于java - 在 iframe 中找不到 Selenium 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34617519/

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