2016-12-16 18 views
0

アドレスバーに特定のURLを持つ既存の開いているChromeウィンドウを特定し、C#でSelenium Webドライバを使用してそのウィンドウで新しいタブを開くにはどうすればよいですか?私が見ているすべての例は、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がブラウザを起動しない限り、ブラウザはそのポートで待機することを知る方法がありません。

関連する問題