🎉
Seleniumで指定座標をクリックさせる
動的なウェブサイトなどで、タグを追いかけられないときにどうぞ。
heliumを使うともっと楽なんですが、Anacondaで提供されていないようなので、自作してみました。
最後のactions.perform()
を書き忘れて、「動かない。指定するタグが悪いのか?」って結構悩みました。
def click_by_position(driver, x, y) -> None:
from selenium.webdriver.common.action_chains import ActionChains
actions = ActionChains(driver)
# MOVE TO TOP_LEFT (`move_to_element` will guide you to the CENTER of the element)
whole_page = driver.find_element_by_tag_name("html")
actions.move_to_element_with_offset(whole_page, 0, 0)
# MOVE TO DESIRED POSITION THEN CLICK
actions.move_by_offset(x, y)
actions.click()
actions.perform()
Discussion