3

私はFF用のスクリプトを書いていますが、少しの作業で他のブラウザーでも実行されることを望んでいましたが、IEドライバーにボタンの問題があるようです。

エラーをスローしないがボタンをクリックしないボタンに単純なwebelement.click()があります。FFではその罰金。テキストを取得して値を取得できるので、findステートメントは問題ないことがわかります。クリックしないだけです。

考えや助けは素晴らしいでしょう

やってるだけ

WebElement element;
element = driver.findElement(By.id("pageheader_login"));
element.click();

HTML-コントロールには3つのボタンがあります私は今のところログインでのみ興味があります

<div id="_ctl0_pageheader_navcontainer">
  <div id="phwelcome">

    <br class="clear" />
  </div>
  <span id="navtext">

    <a id="_ctl0_pageheader_lnkRegister" class="logichref" 
       href="http://Register/1">Register Today</a>
    <label id="_ctl0_pageheader_lblRegisterBar" class="barhide">| </label>

    <a id="_ctl0_pageheader_customerconnection" class="logichref" 
       href="http://test.com" target="_blank">Help & Training</a>
    <label class="bar">| </label>
    <a class="logichref" href="http://test.aspx"
       onmouseover="window.status='';return(true);" 
       onmouseout="window.status='';return(false);"
       target="_blank">What's New</a> 
    <label class="bar">| </label>
    <a id="_ctl0_pageheader_login" class="lbOn loginModal" 
       href="http://test/loginlightbox.aspx">Login</a>
  </span>
</div>     
4

7 に答える 7

5

WebElement のクリック メソッドを機能させることができなかったため、WebDriver をほとんどあきらめました。しかし、何らかの理由で IE のズームを 125% から 100% に変更すると、クリックが機能しました。これが WebDriver の既知のバグかどうかはわかりませんが、解決策が見つかるまで、すべてをまとめて廃棄することになりました。

于 2011-09-29T18:58:06.070 に答える
5

同じ問題が発生しました。IE 8 でクリックが機能しません。element.sendKeys("\n") を実行してクリックを実行する回避策を見つけました (基本的には、ボタンで Enter キーを押すだけです)。あまりきれいではありませんが、バグが修正されるまでは機能します!

于 2011-04-12T09:42:29.153 に答える
4

WebDriver がテスト中の HTML ページの a href="" タグをクリックできなかった IE 8 で同じ問題に直面しました。

shessuky が提供した解決策は私にとってはうまくいきました。それは次のようにignoreZoomSettingとnativeEvents機能の両方を設定しています

  • caps.setCapability("ignoreZoomSetting", true);
  • caps.setCapability("nativeEvents",false);
于 2014-07-11T20:39:29.263 に答える
0

ロード速度に関係している可能性があります。 ImplicitlyWait を追加してみてください

Selenium 2.0b3 IE WebDriver、クリックしない

于 2011-04-07T02:16:42.193 に答える
0

あなたのHTMLによると、id_ctl0_pageheader_login. これは動的に生成でき、変更される可能性があります。

あなたは見つけるBy.linkText("Login")か試すことができますBy.className("loginModal")

于 2011-01-19T20:43:44.553 に答える
0

タッチ スクリーン モニター (Windows 8 タッチ ラップトップなど) でブラウザー ウィンドウを開いて IE11 で自動 Selenium テストを実行している場合は、非タッチ スクリーンでブラウザー ウィンドウを開いてテストを実行してみてください。
元の .click() メソッドは、すべてのコード回避策なしで正常に機能するはずです。

Selenium 2.0b3 IE WebDriver, Click not fireで同様の StackOverflow の質問に関する私の完全なバックグラウンド回答https://stackoverflow.com/a/31397650/115704を参照してください。

于 2015-07-14T04:31:21.647 に答える