回答編集履歴
2
iframe の中を探すように修正
answer
CHANGED
@@ -12,4 +12,29 @@
|
|
12
12
|
element1 = driver.find_element_by_name('formAddrW')
|
13
13
|
element2 = element1.find_element_by_name('keyword')
|
14
14
|
```
|
15
|
-
とすることで動作するかと思います。
|
15
|
+
とすることで動作するかと思います。
|
16
|
+
|
17
|
+
# コメントを受けて追記
|
18
|
+
|
19
|
+
探しているform (element1) がiframe の中に存在しているため、iframe の中を探すようにしなければなりませんでした。
|
20
|
+
|
21
|
+
以下で動作することを確認しました。
|
22
|
+
|
23
|
+
``` python
|
24
|
+
import time
|
25
|
+
from selenium import webdriver
|
26
|
+
|
27
|
+
driver = webdriver.Chrome()
|
28
|
+
driver.get('https://www.sej.co.jp/shop/')
|
29
|
+
time.sleep(5)
|
30
|
+
|
31
|
+
# iframe の中にフォーカスを切り替える
|
32
|
+
iframe = driver.find_element_by_css_selector('iframe[src="//www.e-map.ne.jp/p/711map/?p_s1=40000"]')
|
33
|
+
driver.switch_to_frame(iframe)
|
34
|
+
|
35
|
+
element1 = driver.find_element_by_name('formAddrW')
|
36
|
+
element2 = element1.find_element_by_name('keyword')
|
37
|
+
element2.send_keys('豊島区')
|
38
|
+
element2.submit()
|
39
|
+
|
40
|
+
```
|
1
element1 のクエリも変更
answer
CHANGED
@@ -1,6 +1,15 @@
|
|
1
|
+
※修正しました
|
2
|
+
|
1
3
|

|
4
|
+
|
5
|
+
該当箇所の html を上図に載せています。
|
6
|
+
|
2
|
-
|
7
|
+
`element1` は、クラス名(`class` 属性)ではなく、 `name` 属性 が`formAddrW` ですので、
|
8
|
+
`find_element_by_class_name` ではなく、 `find_element_by_name` を使います。
|
9
|
+
`element2` も同様に、クラス名ではなく、 `name` 属性が `keyword` ですので、`find_element_by_name` を使います。
|
10
|
+
|
3
11
|
```python
|
12
|
+
element1 = driver.find_element_by_name('formAddrW')
|
4
|
-
element2 = element1.
|
13
|
+
element2 = element1.find_element_by_name('keyword')
|
5
14
|
```
|
6
15
|
とすることで動作するかと思います。
|