Python+Seleniumは要素を見つけますが、ソリューションをクリックできません

今日は、編集者が Python+Selenium でクリックできない要素を見つけるための解決策を共有します。編集者をフォローして見てみましょう。

selenium.common.exceptions.WebDriverException: Message: Element is not clickable at point (234.75, 22). Other element would receive the click: <img class="logo" src="/public/desktop/common/img/game_logo.png">

クリックする必要があるボタンがページ上に表示されません。ボタンが表示されるまでスクロール バーを引き下げてからクリックする必要があります。

1. ボタンが見えるように、スクロール バーの一部を引き下げてみます。

js = "window.scrollTo(100,450)"
driver.execute_script(js)

driver.find_element_by_css_selector("div.loginForm>input#loginBtn").click()

OK、クリックできます。

2. ドロップダウンで読み込まれたページではないので、1. の方法を使用するのは少し愚かです。指定された要素の位置にスクロールバーを配置してみてください。

the_loginBtn = driver.find_element_by_css_selector("div.loginForm>input#loginBtn")
ActionChains(driver).move_to_element(the_loginBtn).perform() 

driver.find_element_by_css_selector("div.loginForm>input#loginBtn").click()

OK、要素の位置までスクロールします。ただし、このボタンはページの上部に表示されており、このページにはナビゲーション バーがあり、クリックするボタンは固定ナビゲーション バーによってブロックされています。まだエラーが報告されています。

3. 要素が覆われているため、クリックできません。

クリックする代わりに Enter を使用してください

driver.find_element_by_css_selector("div.loginForm>input#loginBtn").send_keys(Keys.ENTER)

selenium.webdriver.common.keys import Keys からインポートする必要があります。そうしないと機能しません。

クリックの代わりに Enter を使用した後、ページがプルダウンによって読み込まれていない場合は、スクロール バーをプルダウンせずに Enter を使用してクリックできることがわかりました。

上記の記事では、要素を見つけるために Python + Selenium を使用しており、クリックできない問題の解決策は、すべてのコンテンツを共有することです。

最後に、私の記事を注意深く読んでくださった皆さんに感謝します。互恵性は常に必要です。それほど価値のあるものではありませんが、使用できる場合は、直接受け取ることができます。

ここに画像の説明を挿入します

この情報は、[ソフトウェア テスト] の友人にとって最も包括的かつ完全な準備倉庫となるはずです。この倉庫は、最も困難な旅を乗り越える何万人ものテスト エンジニアにも同行してきました。また、皆さんのお役に立てれば幸いです。  

おすすめ

転載: blog.csdn.net/nhb687095/article/details/132976947