2

私は問題に直面しています、そのキーワード「クリック要素」は常に正しく機能するとは限りません。

たとえば、Webサイトのリンクにアクセスしたいと思います。

リンクのxpathは次のとおりです。

${xpathIMButton}                xpath=//a/span[contains(text(),"${exprIM}")]
${exprIM}                       Infrastructure Management

マウスオーバーでリンクをクリックするには、次を使用します。

Wait Until Page Contains Element            ${xpathIMButton}
Mouse Over                                  ${xpathIMButton}
Click Element                               ${xpathIMButton}    don't wait

これは非常に簡単ですが、ログに表示される内容は混乱を招きます。

ログ

ボタンのHTMLソースからのスクリーンショット:

ボタンのhtmlコード

そのため、ロボットはリンク(ページに要素が含まれるまで待機し、マウスオーバー)はOKであると判断しますが、クリック要素は失敗します。私が見ることができるスクリーンショットでは、ボタンが実際に存在していることがわかります。では、何が問題なのでしょうか。なぜ私はそれらの紛らわしいエラーを受け取るのですか?

私が使用しているもの:RFW 2.7.5 SeleniumLibrary 2.8.1 Firefox 12

4

4 に答える 4

0

答えを出すのは少し遅いかもしれませんが、私はまさにこの問題を抱えていました。私がしたことは、ページが完全に読み込まれるまで少し待つことでした。その後、ボタンが正常に見つかりました。

于 2015-08-23T03:44:30.807 に答える
0

Click ElementSelenium 2.35、 SeleniumLibrary 2.9.1、および Selenium2Library 1.2にアップグレードしたときに失敗し始めました。私のブラウザは Firefox 22Click Elementで、保存ボタンを押していました。同じ正確なコードが 2 回機能し、3 回目は機能すると言われましたが、確認ページは表示されませんでした。Focus私の前にキーワードを置くことで問題を解決しましたClick Element

Focus ${saveRule}

Click Element ${saveRule}

これで、コードは 3 回呼び出されて機能します。お役に立てれば。

于 2013-08-23T19:34:19.213 に答える
0

これを試して:

Wait Until Page Contains Element            ${xpathIMButton}
Mouse Over                                  ${xpathIMButton}
Click Element                               ${xpathIMButton}    don't wait
于 2012-12-19T11:25:58.373 に答える
0

マウスオーバーが問題を引き起こしているようです。マウス オーバーにより、要素が DOM で非表示になる可能性があります。

しかし、これは6年前のSelenium 1 Libraryでした。現在、ROBOT Framework で Selenium2Library を使用しています。試してみる、またはすでに使用している場合は、お知らせください。

于 2019-02-12T15:33:47.870 に答える