2016-06-23 9 views
1

ChromeブラウザでWebアプリケーションを自動化するためにSelenium Chromeドライバを使用しています。私は値を入力できないプロンプトボックスのポップアップが表示されます。 はここでコード -Selenium Chromeドライバを使用してプロンプトボックスの値を設定できません

chromeDriver.SwitchTo().Alert().SendKeys("Some value"); 

コードが正常に実行されるが、プロンプトボックス内で、テキストボックスに設定された値がないです。 私はそれが機能しない理由、これが

chromeDriver.SwitchTo().Alert().Text; 

マイChromeバージョン46.0.2490.80は -

任意のアイデアを使用してコード - プロンプトボックスのテキスト値を取得することができていますが?

+1

試してみてください? –

+0

悲しいことに、私はプロンプトボックスのウェブアプリケーションコードにアクセスできません。それは私が自動化しようとしているサードパーティのアプリケーションです。しかし、入力用のテキストボックスと[OK]と[Cancel butttons]を持つ通常のプロンプトボックスのようなものです。 –

+0

プロンプトボックスでは、JSプロンプトボックスやHTMLで何かをやっているのですか? .Alert()は動作しているので、JSボックスのように見えますが、確認したいと思います。 – JeffC

答えて

1
try 
    { 
     IAlert alert = driver.SwitchTo().Alert(); 
    if (alert != null) 
    { 
     alert.SendKeys("Some value"); 
     alert.Accept(); 
    } 
} 
catch (Exception ex) { } 
+1

これは機能します!一方、私は以前のコードが同じように機能することを発見しました。唯一のことは、プロンプトボックスに値が渡されていないことです。それは内部的に渡されることがありますか?私はプロンプト内の入力ボックスに値が入力されない理由を知りたいと思っていました。問題は今解決されました。 –

0

が、これはあなたにもプロンプトボックスのポップアップコードを共有できる

chromeDriver.switchTo().activeElement().sendKeys("Some value"); 
+0

(文字列driverCommandToExecute、Dictionary'2パラメータ) at OpenQA.Selenium.Remote.RemoteWebDriver.InternalExecute(String driverCommandToExecute、Dictionary'2 parameters) at OpenQA.Selenium.RemoteTargetLocator.ActiveElement() –

関連する問題