这是iframe
注入Gmail
,我无法切换到此框架,我们非常感谢任何帮助。
HTML代码:
<iframe src="chrome-extension://fcinnggknmdfkilogcndkgpojpfojeem/src/iframe.html" id="Hiver_iframe_content" style="width: 100%; height: 263px; position: absolute; top: 60px; z-index: 4; border: none; display: none;"></iframe>
我想做什么:
driver.switchTo().frame("Hiver_iframe_content");
过去几天工作得非常好.. !!
答案 0 :(得分:0)
这不是切换帧的方式
driver.switchTo().frame("Hiver_iframe_content");
切换时必须传递webElement或框架索引
试试这个并告诉我
driver.switchTo().frame(driver.findElement(By.id("Hiver_iframe_content")));
OR
driver.switchTo().frame(0); // 0 is index of frame
答案 1 :(得分:0)
您可以等待使用显式等待加载帧,如下所示。
WebDriverWait wait = new WebDriverWait(driver,90); wait.until(ExpectedConditions.frameToBeAvailableAndSwitchToIt( “Hiver_iframe_conten”));
试着让我知道。
谢谢, Murthi。小号
答案 2 :(得分:0)
尝试使用切换到框架WebElement,如下所示:
driver.switchTo().frame(driver.findElement(By.cssSelector("iframe#Hiver_iframe_content")));
答案 3 :(得分:0)
出现随着Gmail新版登录发布谷歌发布了新版本的Chrome驱动程序,我通过升级我的chromedriver版本解决了我的问题
答案 4 :(得分:0)
我找到了一种切换到你提到的iframe的方法。事实上,没有一个iframe,但你需要切换两个iframe。请参阅以下代码:
driver.switchTo().defaultContent();//First switch to default content
driver.switchTo().frame("Hiver_iframe_content");//Switch to 1st iframe
driver.switchTo().frame("iframe_handler");//Switch to 2nd iframe
P.s-此代码现在适用于我们的自动化,我们可以从iframe本身访问v2: - )