質問するログイン新規登録

質問編集履歴

2

コードの修正

2020/07/13 09:10

投稿

MT-333
MT-333

スコア22

title CHANGED
File without changes
body CHANGED
@@ -30,7 +30,7 @@
30
30
  from selenium.webdriver.common.action_chains import ActionChains
31
31
 
32
32
  # ----------------------------------------------------------------------------------------------------
33
- driver = webdriver.Chrome(executable_path = "ドライバーパス")
33
+ driver = webdriver.Firefox(executable_path = "ドライバーパス")
34
34
 
35
35
  driver.maximize_window()
36
36
  driver.get("サイトURL")

1

タイトル、内容の修正

2020/07/13 09:09

投稿

MT-333
MT-333

スコア22

title CHANGED
@@ -1,1 +1,1 @@
1
- SeleniumActionChainsモジュールで2回以上アクションを行う方法は?
1
+ Selenium × Firefox × Python」で、ActionChainsモジュールで2回以上同じアクションを行う方法について
body CHANGED
@@ -1,24 +1,62 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
- Selenium chromedriverChromeブラウザ操作の自動化を行っています。
3
+ Selenium × Firefox × Python」の環境でブラウザ操作の自動化を行っています。
4
4
 
5
5
  ActionChainsモジュールを使用した操作について、
6
- 2回同じ操作を行う際のコードの書き方が分かりません
6
+ 2回以同じ操作を行う際のコードの書き方をご教示ください
7
7
 
8
- 1回目は問題なく実行されるのですが、2回目以降の実行がされません。
8
+ 【自動化したい処理について】
9
- 2回目以降も1回目と同様操作がされるようするにはどのように
9
+ マウスホバーでメニュー表示されるドロップダウンリストついて、
10
+ 「リストにホバー → 任意のメニューを選択 → 表示された画面を閉じる」
11
+ という一連の操作を、ActionChainsモジュールのmove_to_element()メソッドを
10
- コードを書けばよいかご教示ください
12
+ 使用して実現しうとしてます
11
13
 
14
+ 【発生している事象】
15
+ 該当のコードの20行目「actions.move_to_element(target_list).perform()」で
16
+ リストへのホバーが実行されず処理が停止する。
17
+
18
+ 【期待値】
19
+ リストへのホバーが実行され、2回目以降の処理も停止せず実行されること
20
+
21
+ 【備考】
22
+ Chromeで同様のコードを実行した場合は、問題なく最後まで処理が実行されました。
23
+
24
+ ご回答をよろしくお願いいたします。
25
+
12
26
  ### 該当のソースコード
13
27
 
14
- ```ここに言語名を入力
28
+ ```Python
15
- ソースコード
29
+ from selenium import webdriver
16
- ```
30
+ from selenium.webdriver.common.action_chains import ActionChains
17
31
 
32
+ # ----------------------------------------------------------------------------------------------------
18
- ### 試したこと
33
+ driver = webdriver.Chrome(executable_path = "ドライバーパス")
19
34
 
20
- ここに問題に対して試したことを記載してください。
35
+ driver.maximize_window()
36
+ driver.get("サイトURL")
21
37
 
38
+
39
+ ## ホバーでメニューが表示されるドロップダウンリスト操作
40
+ actions = ActionChains(driver)
41
+ target_list = driver.find_element_by_xpath('リストのxpath')
42
+
43
+ # 1回目
44
+ actions.move_to_element(target_list).perform()
45
+ driver.find_element_by_xpath("XXXX").click() # 任意のメニューを選択
46
+ driver.find_element_by_xpath("XXXX").click() # 表示された画面を閉じる
47
+
48
+ # 2回目
49
+ actions.move_to_element(target_list).perform()
50
+ driver.find_element_by_xpath("XXXX").click() # 任意のメニューを選択
51
+ driver.find_element_by_xpath("XXXX").click() # 表示された画面を閉じる
52
+
53
+ driver.quit()
54
+ # ----------------------------------------------------------------------------------------------------
55
+ ```
56
+
22
57
  ### 補足情報(FW/ツールのバージョンなど)
23
58
 
24
- ここにより詳細な情報を記載してください。
59
+ OS:Windows10 1909
60
+ 言語:Python 3.7.3
61
+ ブラウザ:Firefox 78.0.2(64bit)
62
+ WEBドライバー:geckodriver.exe 0.26.0(64bit)