selenium驱动程序正在启动新选项卡而不是新窗口

时间:2018-03-23 09:50:59

标签: java google-chrome selenium selenium-webdriver selenium-chromedriver

[这是一种非常奇怪的行为,只发生在我的笔记本电脑上,而不是其他笔记本电脑上。 当我在我的脚本中调用chrome驱动程序时(只有chrome的问题,Firefox工作正常)它在现有窗口的新选项卡中打开,脚本将无法运行。如果我关闭当前的chrome窗口并运行脚本脚本将运行一个包含所有扩展名的窗口 我尝试从regedit删除chrome并重新安装chrome和exe文件。 请不要说代码问题,因为我在所有其他笔记本电脑上运行的相同代码工作正常。

浏览会话的快照:Browsing Session

网址图片:URL Image

请查看图像中的图像一个selenium在现有窗口中启动一个新选项卡 图2:我关闭chrome窗口并运行脚本,它在默认窗口中打开

我的脚本在chrome窗口上运行,我将密码保存在没有缓存或密码的新窗口中 任何帮助表示赞赏 这是我的代码:

System.setProperty("webdriver.chrome.driver","C:\\myapp\\chromedriver.exe");
WebDriver driver=new ChromeDriver();
driver.get("https://www.irctc.co.in");

3 个答案:

答案 0 :(得分:1)

我的代码块中没有看到任何此类错误,可能是因为安装了扩展程序或某些加载项 Chrome浏览器相关架构/ chrome已修改。解决方案如下:

  • JDK 升级到最近的级别JDK 8u162
  • Selenium 升级到当前级别Version 3.11.0
  • ChromeDriver 升级到当前ChromeDriver v2.37级别。
  • Chrome 版本保留在 Chrome v65.x 级别。 (as per ChromeDriver v2.37 release notes
  • 通过 IDE 清理您的项目工作区仅使用所需的依赖项重建项目
  • 使用CCleaner工具清除执行测试套件之前和之后的所有操作系统杂务。
  • 如果您的基本 Web客户端版本太旧,请通过Revo Uninstaller将其卸载并安装最新的GA和已发布的 Web客户端版本。
  • 执行@Test
  • 始终在driver.quit()方法中调用tearDown{}关闭销毁 WebDriver Web客户端实例优雅。

答案 1 :(得分:0)

你可以尝试清理现有的chrome.exe。您可以在设置系统属性之前调用此清理步骤

Runtime.getRuntime().exec("taskkill /F /IM chrome.exe");

答案 2 :(得分:0)

仅修改初始化library(tidyverse) d <- data.frame(Serial_number=gl(5, 2), Amplification=1:10, Voltage=20:11) d %>% group_by(Serial_number) %>% do(add_row(., Serial_number = unique(.$Serial_number), Amplification = NA, Voltage = NA)) # A tibble: 15 x 3 # Groups: Serial_number [5] # Serial_number Amplification Voltage # <fct> <int> <int> # 1 1 1 20 # 2 1 2 19 # 3 1 NA NA # 4 2 3 18 # 5 2 4 17 # 6 2 NA NA # 7 3 5 16 # 8 3 6 15 # 9 3 NA NA # 10 4 7 14 # 11 4 8 13 # 12 4 NA NA # 13 5 9 12 # 14 5 10 11 # 15 5 NA NA 。使用ChromeDriver

ChromeOptions

希望它会奏效。