2016-12-16 101 views
0

如何使用C#中的Selenium網絡驅動程序在地址欄中找到具有特定URL的現有打開Chrome窗口並在該窗口中打開新選項卡?我看到的所有示例都顯示瞭如何在Selenium ChromeDriver中打開的窗口中打開新選項卡。使用Selenium Chrome驅動程序打開所有Chrome窗口

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。

回答

5

WebDriver無法控制未打開的瀏覽器窗口。這部分是用於防止基於WebDriver的惡意軟件的安全措施。此外,爲了與瀏覽器實例進行通信,瀏覽器必須在端口上監聽傳入的驅動程序命令。除非WebDriver啓動瀏覽器,否則瀏覽器無法知道在該端口上偵聽。

相關問題