こんにちは、ミナピピン(@python_mllover)です。
今回はSeleniumでタグではなく、座標を指定して特定の要素をクリックする方法を紹介したいと思います。基本的に要素指定でスクレイピングは問題ないのですが、マップサイトなど情報がJavascriptで生成されたキャンバス上で動的に生成されている場合は座標を指定してクリックするしかありません。そんなときにこの座標を指定してのスクレイピングが約に立つことがあります。
Seleniumで座標を指定して要素をクリックする
コードは以下のような感じです。
from selenium.webdriver.common.action_chains import ActionChains actions = ActionChains(driver) ~~~~~ ~~~~~ driver.get(url) actions.move_to_element_with_offset(driver.find_element_by_tag_name('body'), x, y).click().perform()
こんな感じでSeleniumでも座標を指定してアクションを起こすことは可能ですが、マウスが見えないのでデバックなどが非常に面倒、マウスがパッと見えるPyautoguiを使った方が良いと思いましたまる。
関連記事:【Python】PyautoGUIでマウスのクリック操作などを自動化する
参考:https://www.it-swarm-ja.com/ja/python/%E3%82%BB%E3%83%AC%E3%83%B3%E7%89%B9%E5%AE%9A%E3%81%AE%E4%BD%8D%E7%BD%AE%E3%81%A7%E3%82%AF%E3%83%AA%E3%83%83%E3%82%AF/1073558866/
コメント