打开并在选项卡之间切换时,如何更新FirefoxDriver(WebDriver)对象?

肖恩

长时间潜伏;第一次海报。我对Selenium API和WebDriver相当陌生,并且遇到了一个小问题。

简而言之,我试图通过Selenium的FirefoxDriver利用Firefox选项卡功能,但是在选项卡之间切换时,我的驱动程序实例对象没有使用其getCurrentUrl()方法返回正确的URL。这是我要完成的简短示例:

FirefoxDriver driver = new FirefoxDriver();
driver.get("http://www.google.com");
// display starting tab URL
System.out.println(driver.getCurrentUrl()); // expected output: google.com
WebElement body = driver.findElement(By.cssSelector("body"));
// open new tab
if(System.getProperty("os.name").contains("Mac")) {
    body.sendKeys(Keys.COMMAND + "t");
}
else {
    body.sendKeys(Keys.CONTROL + "t");
}
//navigate in new tab
driver.get("http://www.yahoo.com");
// display new tab URL
System.out.println(driver.getCurrentUrl()); // expected output: yahoo.com
//navigate back to previous tab
body = driver.findElement(By.cssSelector("body"));
body.sendKeys(Keys.CONTROL +""+Keys.SHIFT +""+ Keys.TAB);
// display starting tab URL
System.out.println(driver.getCurrentUrl()); // expected output: google.com
driver.close();

但是,执行后,输出为:

谷歌

雅虎

雅虎

我的直觉表明,驱动程序的框架/选项卡视图更新得不够快,或者根本没有更新,但是我不确定如何确定这一点。任何帮助将不胜感激。

谢谢!

肖恩

我找到了纠正驱动程序当前视图的解决方案/变通办法。驱动程序切换到其他选项卡后,必须调用switchTo()。defaultContent()。

工作代码如下:

FirefoxDriver driver = new FirefoxDriver();
driver.get("http://www.google.com");
// display starting tab URL
System.out.println(driver.getCurrentUrl()); // expected output: google.com
WebElement body = driver.findElement(By.cssSelector("body"));
// open new tab
if(System.getProperty("os.name").contains("Mac")) {
    body.sendKeys(Keys.COMMAND + "t");
}
else {
    body.sendKeys(Keys.CONTROL + "t");
}
//navigate in new tab
driver.get("http://www.yahoo.com");
// display new tab URL
System.out.println(driver.getCurrentUrl()); // expected output: yahoo.com
//navigate back to previous tab
body = driver.findElement(By.cssSelector("body"));
body.sendKeys(Keys.CONTROL +""+Keys.SHIFT +""+ Keys.TAB);
// refresh driver view
driver.switchTo().defaultContent();
// display starting tab URL
System.out.println(driver.getCurrentUrl()); // expected output: google.com
driver.close();

现在,新的结果输出符合预期:

谷歌

雅虎

谷歌

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

打开并在选项卡之间切换时,如何更新FirefoxDriver(WebDriver)对象?

来自分类Dev

如何打开多个选项卡并在 Selenium 和 Webdriver 之间切换?

来自分类Dev

如何添加滑动以在选项卡之间切换

来自分类Dev

jQuery ui选项卡:在选项卡之间切换时的滑动效果

来自分类Dev

在选项卡之间切换时,如何制作淡入淡出的动画?

来自分类Dev

在React Native Navigation中的选项卡之间切换时如何保持堆叠的屏幕

来自分类Dev

更改窗口大小并在导航选项卡之间切换时,数据表无法正确调整大小

来自分类Dev

如何在gnome-terminal中打开的选项卡之间切换,以及如何使用快捷键关闭任何特定的选项卡?

来自分类Dev

如何在gnome-terminal中打开的选项卡之间切换,以及如何使用快捷键关闭任何特定的选项卡?

来自分类Dev

在打开PuTTY选项卡的情况下在选项卡之间进行ConEmu切换

来自分类Dev

使用带有Java的Selenium WebDriver在浏览器选项卡之间切换

来自分类Dev

在TabBarView中的各个选项卡之间切换时跳过一个选项卡

来自分类Dev

通过单击选项卡(不滑动)在“滑动”选项卡之间切换时,应用程序崩溃

来自分类Dev

反应帮助选项卡之间切换

来自分类Dev

在片段TabHost中的选项卡之间切换

来自分类Dev

在模态角度选项卡之间切换

来自分类Dev

保留不同选项卡之间的切换

来自分类Dev

选中或未选中时,如何使用复选框在选项卡之间切换?

来自分类Dev

在选项卡之间切换时避免在React中重新渲染

来自分类Dev

如何在片段之间一个选项卡与另一个选项卡之间切换时动态刷新选项卡内容?

来自分类Dev

在选项卡中的选项卡之间切换

来自分类Dev

在选项卡中的选项卡之间切换

来自分类Dev

如何设置键盘快捷键在Excel选项卡之间切换?

来自分类Dev

如何在不同选项卡下的导航控制器之间切换?

来自分类Dev

Far Manager 3,PanelTabs插件:如何在选项卡之间切换?

来自分类Dev

如何从子组件切换材质选项卡

来自分类Dev

使用-O选项打开vim时如何在vim中切换选项卡

来自分类Dev

如何在切换相应选项卡时从 JTabbedPane 从 JPanel 调用函数?

来自分类Dev

如何在单击“保存”按钮时切换选项卡,或者如何将“保存”按钮绑定到“切换”选项卡

Related 相关文章

  1. 1

    打开并在选项卡之间切换时,如何更新FirefoxDriver(WebDriver)对象?

  2. 2

    如何打开多个选项卡并在 Selenium 和 Webdriver 之间切换?

  3. 3

    如何添加滑动以在选项卡之间切换

  4. 4

    jQuery ui选项卡:在选项卡之间切换时的滑动效果

  5. 5

    在选项卡之间切换时,如何制作淡入淡出的动画?

  6. 6

    在React Native Navigation中的选项卡之间切换时如何保持堆叠的屏幕

  7. 7

    更改窗口大小并在导航选项卡之间切换时,数据表无法正确调整大小

  8. 8

    如何在gnome-terminal中打开的选项卡之间切换,以及如何使用快捷键关闭任何特定的选项卡?

  9. 9

    如何在gnome-terminal中打开的选项卡之间切换,以及如何使用快捷键关闭任何特定的选项卡?

  10. 10

    在打开PuTTY选项卡的情况下在选项卡之间进行ConEmu切换

  11. 11

    使用带有Java的Selenium WebDriver在浏览器选项卡之间切换

  12. 12

    在TabBarView中的各个选项卡之间切换时跳过一个选项卡

  13. 13

    通过单击选项卡(不滑动)在“滑动”选项卡之间切换时,应用程序崩溃

  14. 14

    反应帮助选项卡之间切换

  15. 15

    在片段TabHost中的选项卡之间切换

  16. 16

    在模态角度选项卡之间切换

  17. 17

    保留不同选项卡之间的切换

  18. 18

    选中或未选中时,如何使用复选框在选项卡之间切换?

  19. 19

    在选项卡之间切换时避免在React中重新渲染

  20. 20

    如何在片段之间一个选项卡与另一个选项卡之间切换时动态刷新选项卡内容?

  21. 21

    在选项卡中的选项卡之间切换

  22. 22

    在选项卡中的选项卡之间切换

  23. 23

    如何设置键盘快捷键在Excel选项卡之间切换?

  24. 24

    如何在不同选项卡下的导航控制器之间切换?

  25. 25

    Far Manager 3,PanelTabs插件:如何在选项卡之间切换?

  26. 26

    如何从子组件切换材质选项卡

  27. 27

    使用-O选项打开vim时如何在vim中切换选项卡

  28. 28

    如何在切换相应选项卡时从 JTabbedPane 从 JPanel 调用函数?

  29. 29

    如何在单击“保存”按钮时切换选项卡,或者如何将“保存”按钮绑定到“切换”选项卡

热门标签

归档