【问题标题】:Can't open a link as a background tab - Java, Selenium, IE无法将链接打开为背景选项卡 - Java、Selenium、IE
【发布时间】:2014-12-23 21:38:18
【问题描述】:

当然,在 Internet Explorer (9) 中,我无法在后台选项卡中打开链接。我已经尝试了一些事情:

Robot r = new Robot();
r.keyPress(KeyEvent.VK_CONTROL);
driver.findElement(By.name(THE_LINK)).click();
r.keyRelease(KeyEvent.VK_CONTROL);

我也试过

String link = Keys.chord(Keys.CONTROL, Keys.RETURN);
driver.findElement(By.name(THE_LINK)).sendKeys(link);

它实际上是在一个新窗口中打开它。

当我手动工作并 ctrl+click 时,它会按预期工作并在后台选项卡中打开。我尝试过重置浏览器设置并做了很多不同的事情,但当然,它没有按预期工作。

有人见过这个吗?有人要我尝试不同的东西吗?

【问题讨论】:

    标签: java internet-explorer selenium automation


    【解决方案1】:

    没有理由这样做。

    如果您单击链接,只需使用以下命令切换回原始上下文:

    driver.switchTo().defaultContent();
    

    返回您之前所在的标签。

    如果这不起作用,你可能不得不这样做

    driver.switchTo().window(driver.getWindowHandles()[0]);  // i'm not at my programming computer so i can't remember the actual syntax ;)
    

    【讨论】:

    • 轻装上阵。解释该功能是每个浏览器的。除非您正在测试浏览器,否则没有理由这样做。 Selenium 测试 Web 应用程序。不是浏览器;)
    • 同样重要的是要知道,Selenium 不知道(也不关心)窗口和选项卡之间的区别。
    • 问题是手动浏览器正常运行。为什么它会因为我使用硒而改变?机器人类的功能与手动方式相同,不是吗?
    • 它会改变,因为 IE 有一个围绕 WebDriver 构建的驱动程序。它们的实现可能与手动实现的不同。所以它可能会产生不同的结果。我知道令人沮丧
    猜你喜欢
    • 2016-03-26
    • 1970-01-01
    • 2017-03-08
    • 2018-10-31
    • 1970-01-01
    • 2016-05-06
    • 2017-01-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多