プログラムとその他いろいろメモ

PythonでChrome内のJavaScriptのボタンをクリックする方法

サイトのボタンにはJavaScriptの物もあります。
こういったボタンをクリックするにはちょっと1手間必要があります。

JavaScriptのボタンを押す

find_element_by_xpathで見つけた要素を取得し、その位置を取得し中心をクリックします。

from selenium.webdriver.common.action_chains import ActionChains

でActionChainsクラスをインポートします。

dive = webdriver.Chrome()
dive.get('*****')
elem = dive.find_element_by_xpath('****')

loc = elem.location
print(loc)

rec=elem.rect
print(rec)

x, y = loc['x']+rec['width']/2, loc['y']+rec['height']/2

actions = ActionChains(dive)
actions.move_by_offset(x, y)
actions.click()
actions.perform()
actions.reset_actions()

■操作説明
elem = dive.find_element_by_xpath(‘****’)
まず、xpathでボタンを押す要素を取得します。

loc = elem.location
でlocに[‘x’]と[‘y’]に、それぞれ要素の左上にx軸とy軸が入ります。

rec=elem.rect
rec[‘width’]とrec[‘height’]に、それぞれ要素の横幅と縦幅が入ります。

actions = ActionChains(dive)
アクションを実行させる準備します。

actions.move_by_offset(x, y)
でクリックするための座標を指定します。

actions.click()
クリックを指定します。

actions.perform()
perform()でイベントを実行させます。

actions.reset_actions()
保存されているアクションを解放します。
解放しないで再度perform()を行うとエラーが発生します。

モバイルバージョンを終了