0

Seleneium 2.25を使用すると、多くの問題が発生しました。

コンピューター(ローカル/クライアント)からリモートマシン(サーバー)でSeleniumRemoteDriverを使用しようとしています。ただし、DesiresCapabilities.Htmlunit()を使用しようとすると、要素は検索されますが、表示されないと表示されます。私はこれに完全に困惑しています。なぜそれが見つかるのかわかりませんが、その後は表示されません。

そこで、JavaScriptを使用して強制的に使用しようとしました。それが戻ってきて、ページがロードされる前にWebページがjavascriptを実行できないというエラーをスローします。暗黙の待機を行ったときに、待機している要素が見つかった場合、これはどのように可能ですか?

DesiredCapabilities iecapa = DesiredCapabilities.HtmlUnit();
iecapa.IsJavaScriptEnabled = true;
driver = new RemoteWebDriver(new Uri("http://<IP of server>:4444/wd/hub"), iecapa);

IJavaScriptExecutor jQuery = ((IJavaScriptExecutor)(driver));
addressElement = (IWebElement)jQuery.ExecuteScript("return document.GetElementByName('searchAddress')");

ですから、誰かが私を助けたいと思ったら、それは大いにありがたいです!ありがとうございました!

http://imageshack.us/photo/my-images/163/seleniumhtmluniterror.jpg/

それがエラーです。StackOverflowではここに投稿できません。=(

4

1 に答える 1

0

これを試して:

WebDriverWait wait = new WebDriverWait(driver, new TimeSpan(0, 0, 0, 30));
wait.Until(p => driver.FindElement(By.Name("searchAddress")));

IJavaScriptExecutor jQuery = ((IJavaScriptExecutor)(driver));
addressElement = (IWebElement)jQuery.ExecuteScript("return document.GetElementByName('searchAddress')");

JavaScript でチェックを追加することもできます。

if (document.readyState.toLowerCase()=="complete") 
return document.GetElementByName('searchAddress');
return 'Error';
于 2012-08-31T09:41:15.023 に答える