質問編集履歴

3

エラー箇所の追記

2019/01/28 11:47

投稿

machi1092
machi1092

スコア12

test CHANGED
File without changes
test CHANGED
@@ -28,6 +28,8 @@
28
28
 
29
29
  ```ここに言語名を入力
30
30
 
31
+ #モジュールのインポート
32
+
31
33
  from selenium import webdriver
32
34
 
33
35
  import os
@@ -46,6 +48,8 @@
46
48
 
47
49
 
48
50
 
51
+ #取得したい要素(職業名や仕事内容)の変数定義
52
+
49
53
  job_cards = 'a.catch'
50
54
 
51
55
  job_names = 'h2.job'
@@ -57,6 +61,8 @@
57
61
  next_bottun = 'a.btn.next'
58
62
 
59
63
 
64
+
65
+ #webdriverの設定・URLへ遷移・要素が読み込まれるまでの待機時間の設定
60
66
 
61
67
  driver = webdriver.Chrome(executable_path="C:...")
62
68
 
@@ -70,27 +76,31 @@
70
76
 
71
77
  def main():
72
78
 
73
- while True:
79
+ while True: #次へボタンがあるまで繰り返し
74
80
 
75
81
  if len(driver.find_element_by_css_selector(next_bottun).text) > 0:
76
82
 
83
+        #ページ内の求人詳細に遷移する要素の全取得
84
+
77
85
  cards = driver.find_elements_by_css_selector(job_cards)
78
86
 
79
- for card in cards:
87
+ for card in cards: #↑で取得した要素をクリックし遷移したページで下記処理を行う
80
88
 
81
89
  try:
82
90
 
83
91
  card.click()
84
92
 
93
+            #恐らくここまでは正常に動いていて下記から上手く処理できずエラーが起こっている
94
+
85
95
  wait.until(EC.presence_of_element_located((By.ID, "descBase")))
86
96
 
87
- job_name = driver.find_element_by_css_selector(job_names).text
97
+ job_name = driver.find_element_by_css_selector(job_names).text #職業名をテキストで取得する
88
98
 
89
99
  job_description = driver.find_element_by_css_selector(job_descriptions).text
90
100
 
91
101
  job_requirements_must = driver.find_element_by_css_selector(job_requirements_musts).text
92
102
 
93
- se = pd.Series([job_name,job_description,job_requirements_must],['job_name','job_description','job_requirements_must',])
103
+ se = pd.Series([job_name,job_description,job_requirements_must],['job_name','job_description','job_requirements_must',])
94
104
 
95
105
  df = pd.DataFrame()
96
106
 
@@ -102,7 +112,7 @@
102
112
 
103
113
  print(e)
104
114
 
105
- next = driver.find_element_by_css_selector(next_bottun).get_attribute("href")
115
+ next = driver.find_element_by_css_selector(next_bottun).get_attribute("href") #ページ内の次へボタンの要素を取得
106
116
 
107
117
  driver.get(next)
108
118
 

2

タイトルの編集

2019/01/28 11:47

投稿

machi1092
machi1092

スコア12

test CHANGED
@@ -1 +1 @@
1
- seleniumで情報を取得したい
1
+ selenium(Python)で情報を取得したいが、要素が読み込まれるのを待機できていない?等の理由で取得できない
test CHANGED
File without changes

1

文字の修正

2019/01/27 10:41

投稿

machi1092
machi1092

スコア12

test CHANGED
File without changes
test CHANGED
@@ -58,9 +58,9 @@
58
58
 
59
59
 
60
60
 
61
- driver = webdriver.Chrome(executable_path="C:/Users/Daichi Yamamasu/Anaconda3/Lib/site-packages/selenium/webdriver/chromedriver.exe")
61
+ driver = webdriver.Chrome(executable_path="C:...")
62
62
 
63
- url = 'https://en-ambi.com/search/?jobtype=1614010&area=23'
63
+ url = 'https://en-ambi.com/'
64
64
 
65
65
  wait = WebDriverWait(driver, 10)
66
66