前提・実現したいこと
「Selenium × Firefox × Python」の環境でブラウザ操作の自動化を行っています。
ActionChainsモジュールを使用した操作について、
2回以上同じ操作を行う際のコードの書き方をご教示ください。
【自動化したい処理について】
マウスのホバーでメニューが表示されるドロップダウンリストについて、
「リストにホバー → 任意のメニューを選択 → 表示された画面を閉じる」
という一連の操作を、ActionChainsモジュールのmove_to_element()メソッドを
使用して実現しようとしています。
【発生している事象】
該当のコードの20行目「actions.move_to_element(target_list).perform()」で
リストへのホバーが実行されず処理が停止する。
【期待値】
リストへのホバーが実行され、2回目以降の処理も停止せず実行されること
【備考】
Chromeで同様のコードを実行した場合は、問題なく最後まで処理が実行されました。
ご回答をよろしくお願いいたします。
該当のソースコード
Python
1from selenium import webdriver 2from selenium.webdriver.common.action_chains import ActionChains 3 4# ---------------------------------------------------------------------------------------------------- 5driver = webdriver.Firefox(executable_path = "ドライバーパス") 6 7driver.maximize_window() 8driver.get("サイトURL") 9 10 11## ホバーでメニューが表示されるドロップダウンリスト操作 12actions = ActionChains(driver) 13target_list = driver.find_element_by_xpath('リストのxpath') 14 15# 1回目 16actions.move_to_element(target_list).perform() 17driver.find_element_by_xpath("XXXX").click() # 任意のメニューを選択 18driver.find_element_by_xpath("XXXX").click() # 表示された画面を閉じる 19 20# 2回目 21actions.move_to_element(target_list).perform() 22driver.find_element_by_xpath("XXXX").click() # 任意のメニューを選択 23driver.find_element_by_xpath("XXXX").click() # 表示された画面を閉じる 24 25driver.quit() 26# ----------------------------------------------------------------------------------------------------
補足情報(FW/ツールのバージョンなど)
OS:Windows10 1909
言語:Python 3.7.3
ブラウザ:Firefox 78.0.2(64bit)
WEBドライバー:geckodriver.exe 0.26.0(64bit)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。