質問編集履歴

2

コードの修正

2020/07/13 09:10

投稿

MT-333
MT-333

スコア22

test CHANGED
File without changes
test CHANGED
@@ -62,7 +62,7 @@
62
62
 
63
63
  # ----------------------------------------------------------------------------------------------------
64
64
 
65
- driver = webdriver.Chrome(executable_path = "ドライバーパス")
65
+ driver = webdriver.Firefox(executable_path = "ドライバーパス")
66
66
 
67
67
 
68
68
 

1

タイトル、内容の修正

2020/07/13 09:09

投稿

MT-333
MT-333

スコア22

test CHANGED
@@ -1 +1 @@
1
- SeleniumActionChainsモジュールで2回以上アクションを行う方法は?
1
+ Selenium × Firefox × Python」で、ActionChainsモジュールで2回以上同じアクションを行う方法について
test CHANGED
@@ -2,21 +2,49 @@
2
2
 
3
3
 
4
4
 
5
- Selenium chromedriverでChromeブラウザ操作の自動化を行っています。
5
+ Selenium × Firefox × Python」の環境でブラウザ操作の自動化を行っています。
6
6
 
7
7
 
8
8
 
9
9
  ActionChainsモジュールを使用した操作について、
10
10
 
11
- 2回同じ操作を行う際のコードの書き方が分かりません
11
+ 2回以同じ操作を行う際のコードの書き方をご教示ください
12
12
 
13
13
 
14
14
 
15
- 1回目は問題なく実行されるのですが、2回目以降の実行がされません。
15
+ 【自動化したい処理について】
16
16
 
17
- 2回目以降も1回目と同様操作がされるようするにはどのように
17
+ マウスホバーでメニュー表示されるドロップダウンリストついて、
18
18
 
19
+ 「リストにホバー → 任意のメニューを選択 → 表示された画面を閉じる」
20
+
21
+ という一連の操作を、ActionChainsモジュールのmove_to_element()メソッドを
22
+
23
+ 使用して実現しようとしています。
24
+
25
+
26
+
27
+ 【発生している事象】
28
+
29
+ 該当のコードの20行目「actions.move_to_element(target_list).perform()」で
30
+
31
+ リストへのホバーが実行されず処理が停止する。
32
+
33
+
34
+
35
+ 【期待値】
36
+
37
+ リストへのホバーが実行され、2回目以降の処理も停止せず実行されること
38
+
39
+
40
+
41
+ 【備考】
42
+
43
+ Chromeで同様のコードを実行した場合は、問題なく最後まで処理が実行されました。
44
+
45
+
46
+
19
- コード書けばいかご教示ださい。
47
+ ご回答をよろしお願いたします
20
48
 
21
49
 
22
50
 
@@ -24,19 +52,61 @@
24
52
 
25
53
 
26
54
 
27
- ```ここに言語名を入力
55
+ ```Python
28
56
 
29
- ソースコード
57
+ from selenium import webdriver
30
58
 
31
- ```
59
+ from selenium.webdriver.common.action_chains import ActionChains
32
60
 
33
61
 
34
62
 
63
+ # ----------------------------------------------------------------------------------------------------
64
+
35
- ### 試したこと
65
+ driver = webdriver.Chrome(executable_path = "ドライバーパス")
36
66
 
37
67
 
38
68
 
39
- ここに問題に対して試したことを記載してください。
69
+ driver.maximize_window()
70
+
71
+ driver.get("サイトURL")
72
+
73
+
74
+
75
+
76
+
77
+ ## ホバーでメニューが表示されるドロップダウンリスト操作
78
+
79
+ actions = ActionChains(driver)
80
+
81
+ target_list = driver.find_element_by_xpath('リストのxpath')
82
+
83
+
84
+
85
+ # 1回目
86
+
87
+ actions.move_to_element(target_list).perform()
88
+
89
+ driver.find_element_by_xpath("XXXX").click() # 任意のメニューを選択
90
+
91
+ driver.find_element_by_xpath("XXXX").click() # 表示された画面を閉じる
92
+
93
+
94
+
95
+ # 2回目
96
+
97
+ actions.move_to_element(target_list).perform()
98
+
99
+ driver.find_element_by_xpath("XXXX").click() # 任意のメニューを選択
100
+
101
+ driver.find_element_by_xpath("XXXX").click() # 表示された画面を閉じる
102
+
103
+
104
+
105
+ driver.quit()
106
+
107
+ # ----------------------------------------------------------------------------------------------------
108
+
109
+ ```
40
110
 
41
111
 
42
112
 
@@ -44,4 +114,10 @@
44
114
 
45
115
 
46
116
 
47
- ここにより詳細な情報を記載してください。
117
+ OS:Windows10 1909
118
+
119
+ 言語:Python 3.7.3
120
+
121
+ ブラウザ:Firefox 78.0.2(64bit)
122
+
123
+ WEBドライバー:geckodriver.exe 0.26.0(64bit)