所有使用Selenium Chrome驱动程序打开的Chrome窗口

时间:2016-12-16 04:00:20

标签: c# selenium selenium-webdriver selenium-chromedriver

如何在地址栏中识别具有特定网址的现有打开Chrome窗口,并使用C#中的Selenium网络驱动程序在该窗口中打开新标签?我看到的所有示例都显示了如何在Selenium ChromeDriver中打开的窗口中打开新选项卡。

    IWebDriver driver = null;    
    var chromeDriverService = ChromeDriverService.CreateDefaultService();

      chromeDriverService.HideCommandPromptWindow = true;
      driver = new ChromeDriver(chromeDriverService);
  List<string> tabs = new List<string>(driver.WindowHandles);

driver.WindowHandles始终返回ChromeDriver打开的窗口。但是,我正在寻找所有的窗户。一旦执行实例化ChromeDriver的行,就会打开一个新窗口。但是,我需要在现有窗口的新选项卡中打开一个新URL。

1 个答案:

答案 0 :(得分:7)

WebDriver无法控制它没有打开的浏览器窗口。这部分是防止基于WebDriver的恶意软件的安全措施。此外,要与浏览器实例通信,浏览器必须在端口上侦听传入的驱动程序命令。除非WebDriver启动浏览器,否则浏览器无法知道在该端口上进行侦听。