質問編集履歴

1

誤植

2019/02/02 14:48

投稿

mrk_5200
mrk_5200

スコア17

test CHANGED
File without changes
test CHANGED
@@ -1,119 +1,21 @@
1
1
  スクレイピング初心者です。
2
2
 
3
- 気象庁(https://www.data.jma.go.jp/gmd/risk/obsdl/index.php)からwebdriverを使ってブラウザ操作を試みているところです。画像HTML中の「年月日」「稚内」「積雪(cm)」のテキストを取得したいのですが、要素が見つからないといったエラーばかりで解決策ばなかったため質問させていただきした
3
+ webdriverを使ってブラウザ操作を試みているところです。画像HTML中の「年月日」のテキストを取得しようと試みましたが、要素がないといったエラーが
4
+
5
+
6
+
7
+ 試したコードは以下の通りです。
8
+
9
+ from selenium.webdriver.support.ui import Select
10
+
11
+ from selenium import webdriver
12
+
13
+ text=driver.find_element_by_xpath('//*[@id="slickgrid_61863period"]/div[1]/div')
14
+
15
+ text=Select(text).select_by_text('年月日')
16
+
17
+ print(text)
4
18
 
5
19
 
6
20
 
7
21
  ![イメージ説明](4d20cc0eeae3f997ec74b34a13ed8620.jpeg)
8
-
9
-
10
-
11
- ↓途中までは思い通りに操作できているのですが、、
12
-
13
- ```python
14
-
15
- # -*- coding: utf-8 -*-
16
-
17
- from selenium import webdriver
18
-
19
- from selenium.webdriver.support.select import Select
20
-
21
- import time
22
-
23
-
24
-
25
- driver = webdriver.Chrome('C:\selenium\chromedriver')
26
-
27
- driver.maximize_window()
28
-
29
- time.sleep(1)
30
-
31
- html = driver.get("https://www.data.jma.go.jp/gmd/risk/obsdl/index.php")
32
-
33
- time.sleep(1)
34
-
35
- driver.find_element_by_id('pr11').click()
36
-
37
- time.sleep(2)
38
-
39
-
40
-
41
- driver.find_element_by_xpath('//*[@id="stationMap"]/div[2]').click()
42
-
43
- time.sleep(2)
44
-
45
- driver.find_element_by_id('elementButton').click()
46
-
47
- time.sleep(2)
48
-
49
- driver.find_element_by_xpath('//*[@id="aggrgPeriod"]/div/div[1]/div[1]/label').click()
50
-
51
- time.sleep(2)
52
-
53
- driver.find_element_by_xpath('//*[@id="積雪の深さ"]').click()
54
-
55
- time.sleep(2)
56
-
57
- driver.find_element_by_id('periodButton').click()
58
-
59
- time.sleep(2)
60
-
61
- driver.find_element_by_xpath('//*[@id="selectPeriod"]/div/div[2]/div[1]/label/span').click()
62
-
63
- time.sleep(2)
64
-
65
- driver.find_element_by_xpath('//*[@id="selectPeriod"]/div/div[2]/div[2]/div[1]/select[1]/option[12]').click()
66
-
67
- time.sleep(2)
68
-
69
- driver.find_element_by_xpath('//*[@id="selectPeriod"]/div/div[2]/div[2]/div[1]/select[2]/option[1]').click()
70
-
71
- time.sleep(2)
72
-
73
- driver.find_element_by_xpath('//*[@id="selectPeriod"]/div/div[2]/div[2]/div[1]/select[3]/option[3]').click()
74
-
75
- time.sleep(2)
76
-
77
- driver.find_element_by_xpath('//*[@id="selectPeriod"]/div/div[2]/div[2]/div[1]/select[4]/option[31]').click()
78
-
79
- time.sleep(2)
80
-
81
- driver.find_element_by_xpath('//*[@id="selectPeriod"]/div/div[2]/div[2]/div[2]/select[1]/option[29]').click()
82
-
83
- time.sleep(2)
84
-
85
- driver.find_element_by_xpath('//*[@id="selectPeriod"]/div/div[2]/div[2]/div[2]/select[2]/option[27]').click()
86
-
87
- time.sleep(2)
88
-
89
- driver.find_element_by_xpath('//*[@id="loadTable"]/img').click()
90
-
91
- time.sleep(5)
92
-
93
-
94
-
95
- #以下、エラーがはかれる部分
96
-
97
- date = driver.find_element_by_xpath('//*[@id="slickgrid_205048period"]/div[1]/div')
98
-
99
- date=Select(date).select_by_text("年月日")
100
-
101
- print(date)
102
-
103
-
104
-
105
- point = driver.find_element_by_xpath('//*[@id="slickgrid_205048period"]/div[1]/div')
106
-
107
- point=Select(point).select_by_text("稚内")
108
-
109
- print(point)
110
-
111
-
112
-
113
- value = driver.find_element_by_xpath('//*[@id="slickgrid_205048period"]/div[1]/div')
114
-
115
- value=Select(value).select_by_text("積雪(cm)")
116
-
117
- print(value)
118
-
119
- ```