Seleniumをいじっていると、色々とエラーがでる。
Other element would receive the click:
このエラーが出た時の対処法を考えている。
今まで多かった原因は、どう表現していいかわからないが、Webページのレイヤーのようなものが存在し、邪魔してクリックできなかったので、レイヤー移動することでクリックさせた。
※以下のコードは、一般的には、マウススクロールをさせた意味になるらしい。筆者はchromeのデベロッパーツールで、レイヤーを分けているため。
※以下のサイトがよくselenium操作がまとまっている
https://qiita.com/mochio/items/dc9935ee607895420186
element = driver.find_element_by_id("id_name") actions = ActionChains(driver) actions.move_to_element(element) actions.perform()
このコードである程度動いたが、、、また同じエラーがでた。
どうやら、「検索ボタンが邪魔してクリックできない」ことは、わかっている。
よって、一旦、以下のコードを追加して、マウスを一番下にまで下げてみる。
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
しかし、、、同じErrorが相変わらず発生。うぐぅ
Other element would receive the click:
マウススクロールを最下部までしたときにヒントに気が付いた。
まだ、違うレイヤーが存在する。。。。
とりあえず、新しいレイヤーに、id_nameを参照してジャンプさせたら動いた。
しかし、、、次でまたコケタ。
結局、どうにもならないので、かなり先にジャンプさせたら、検索のボタンもかなり下に動いて動いた。
そうーいうことかよ!って感じだった。