1

:私はこのエラーを取り除くにはどうすればよいWebdriverIO browser.clickは、「他の要素がクリックを受け取る」というエラーを表示します。どうすれば修正できますか?私はそれを実行しようとすると、私は私のwebdriverIOセレンコードから次のエラーを取得しています

const checkboxSelector = 
    getAttributeSelector('data-test', 'manual-checkbox'); 
browser.click(checkboxSelector); 

Failed: unknown error: Element is not clickable at point (389, 709). Other element would receive the click: < html lang="en" >...< /html >

ここに関連するコードですか?

テストがchromedriverで実行されている

--- ADDITIONAL INFO ---

var desktop = exports.desktop = [{ 
    browser: 'Chrome', 
    os: 'Windows', 
    os_version: '7' 
}]; 

答えて

1

問題は、あなたが明示的にボタンをクリックし、適切な要素にスクロールするために必要なことだったように思えます。なぜそれが自動ではないのか分かりませんが、browser.scroll(selector)http://webdriver.io/api/utility/scroll.html)を使って簡単に修正できます。

const checkboxSelector = 
    getAttributeSelector('data-test', 'manual-checkbox'); 
browser.scroll(checkboxSelector); 
browser.click(checkboxSelector); 

問題が

+0

これは解決策ではなく、ハックです。私はあなたがChrome以外のブラウザでテストを実行していると推測しています(この問題は 'geckodriver 'に何回かありました)。 'package.json'依存関係を使ってあなたの質問を更新して、あなたのチェックを実行しているのですか?たとえば 'chromedriver'では、' .click() 'コマンドは' viewport'に表示されるまで 'element'に自動的にスクロールします。 – iamdanchiv

+0

ありがとうございます。あなたはgeckodriverであなたの問題をどのように解決しましたか?残念ながら、クロムドライブが自動的に要素にスクロールすると言っているにもかかわらず、私の場合はそうではありませんでした。私はテストのためにクロムドライバーを使用しています。あまりにも多くのことが起こっているので、package.jsonを追加できませんが、いくつかの関連する設定情報を追加しました。 – ThinkBonobo

1

を解決し、あなたのページには、潜在的にあなたのセレクタとターゲットにすることができる要素または複数の要素を隠していますか?私がこのエラーを見たときに、私の単一のセレクタが舞台裏で別の要素を対象とすることがよくありました。 「その他の要素はクリックを受け取ります」というメッセージは、複数の要素が選択された可能性があり、クリックした要素がクリックされた要素ではないことを示す重要な要素でした。あなたは複数の要素を使用すると、1つ下に、より正確に狭いあなたのセレクタと、より具体的である必要があり、返さ表示された場合

あなたは

$$('data-test') 

ブラウザコンソールであなたのCSSセレクタを使用してこれをテストすることができます行動しようとする。

+0

これは実際に私の最初の思想@Denzikでした。しかし、私がページを見ると、その前に何もありません。しかし、クリックができないビューポートから外れていました。 – ThinkBonobo

+0

@ThinkBonoboあなたはこれを解決しましたか? webdriverIOを使用したclick()は、要素を正しく見つけてスクロールせずにクリックする必要があります。最近更新されていないChromeDriverとWebdriverIOの新しいバージョンでは特にそうです。 – Denzik

+0

ちょっとdenzik、私が作成していたデータテストのタグ付けされた属性は、ページの1つの要素にユニークです。パッケージが共通の構成ライブラリにあり、他のユーザーがそれらを使用している可能性があるため、現時点でパッケージを実際に更新することはできません。 webdriver/chromedriverをアップグレードすると、ビューポートのボタンをクリックする前にscroll()コマンドを実行する必要はありませんが、今のところは傷つかないので残しておきます。 – ThinkBonobo

関連する問題