首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Safari中的Selenium Java -切换到新选项卡不起作用

Safari中的Selenium Java -切换到新选项卡不起作用
EN

Stack Overflow用户
提问于 2019-08-23 05:44:49
回答 1查看 1.6K关注 0票数 0

我有下一种情况:

我在MacOS中运行自动化,在Safari中运行Selenium。我想控制打开的新选项卡(在Safari中切换到新选项卡)

我可以在Chrome和Firefox上做到这一点,但在Safari上就不行了。

下面的代码是我要用到的代码:

代码语言:javascript
复制
    //Store the parent window
    String parentWindow = driver.getWindowHandle();

    //Open a new Windows(Mailtrap)
    String a = "window.open('https://mailtrap.io/signin','_blank');";
    ((JavascriptExecutor)driver).executeScript(a);


    //Take control over new browser
    for(String handle: driver.getWindowHandles()){
        driver.switchTo().window(handle);
    }

    //Make the same actions over new window
    driver.manage().window().maximize();

    driver.switchTo().defaultContent();

那之后..。

//关闭窗口并返回父窗口

代码语言:javascript
复制
    driver.close();
    driver.switchTo().window(parentWindow);
    driver.switchTo().defaultContent();

正如我之前所说的:它在火狐、Chrome、IE11上都能用,但在Safari12.0.3中,当我手动点击一个标签时,就会收到这样的信息。

“此Safari窗口由自动测试远程控制。”

要与此Safari窗口交互,您需要停止当前的自动测试会话。您不应使用此窗口进行正常的web浏览。

“关闭所有自动化”、“停止会话”、“继续会话”

有人能帮我这个忙吗?

PS:开发-->允许远程自动化被选中。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-02 01:10:59

由于Safari的自动化速度非常快,因此唯一的解决方案是“永远的老朋友”:

代码语言:javascript
复制
Thread.sleep

这是唯一的解决方案,因为隐式和显式等待都不起作用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57617400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档