1

Web アプリケーションを自動化するために、Python ベースと Firefox ブラウザーで Robotframework selenium2Library を使用しています。Clickイベントが発生するたびに以下の問題が発生し、

Web アプリケーションのヘッダーは、ページのスクロール中に不動です (つまり、ページのスクロールが発生するたびに、ヘッダーは常にユーザー ビューに表示され、コンテンツのみがスクロールされます)。問題は、クリックしようとしている要素がページで使用できない場合です。ビュー、クリック イベントはページをスクロールして要素を Web ページの上に移動しようとします。これはヘッダーの真下 (オーバーラップ) であり、クリック イベントは発生せず、例外を下回ります。

WebDriverException: メッセージ: 要素はポイントでクリックできません (1362.63330078125、15.5)。他の要素はクリックを受け取ります: https://url/url/chat/chat.asp','popup','height=600, width=680, scrollbars=no, resizable=yes, directory=no, menubar=no 、ステータス=いいえ、ツールバー=いいえ'));">

Wait until Page is Visible キーワードを試してみましたが、次のステートメントである Click イベント (Click Element、Click Link など) が再びヘッダーまでスクロールしているため、これは役に立ちません。

ヘッダーが常に表示されるのは、私たちの Web アプリケーションの機能であり、この scrips が原因で失敗しています。この問題を克服し、クリック イベントが正常に実行されるようにするために、誰か助けてください。

4

3 に答える 3

1

したがって、私が正しく理解している場合、要素ページをクリックすると、表示されるようにスクロールダウンします。透明なヘッダーがあるため、要素はその下にとどまり、クリックできません。私の解決策は、要素が表示されるまで下にスクロールする新しいキーワードを作成してから、もう少し下にスクロールすることです。

*** Settings ***
Library      Selenium2Library

*** Keywords ***
Scroll And Click
    [Arguments]           ${element}
    Execute Javascript    window.document.evaluate("//*[@id='${element}']", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.scrollIntoView(true);
    Execute Javascript    window.scrollBy(0, -200)
    Click Element         ${element}

*** Test Cases ***
Scrolltest
    Open Browser        http://www.stackoverflow.com/    gc
    Scroll And Click    hireme
于 2016-10-21T10:25:35.897 に答える