前提・実現したいこと
複数のページをまたいで、href属性の値を取得したいです。
https://tenshoku.mynavi.jp/search/list/
このページにある「詳細を見る」にあるhref属性を全て取得し、次のページに「▶︎」ボタンを押して移動。
また「詳細を見る」ボタンにあるhrefを取得。移動・・
を繰り返したいと考えています。
発生している問題・エラーメッセージ
https://tenshoku.mynavi.jp//jobinfo-127282-1-22-1/?ty=rzs&searchId=1209337739&pageNum=1&showNo=1 Traceback (most recent call last): File "sample3_1.py", line 23, in <module> next_page = driver.find_element_by_class_name('iconFont--arrowLeft') File "/Users/yudai/opt/anaconda3/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 564, in find_element_by_class_name return self.find_element(by=By.CLASS_NAME, value=name) File "/Users/yudai/opt/anaconda3/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 978, in find_element 'value': value})['value'] File "/Users/yudai/opt/anaconda3/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute self.error_handler.check_response(response) File "/Users/yudai/opt/anaconda3/lib/python3.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":".iconFont--arrowLeft"} (Session info: chrome=78.0.3904.70)
該当のソースコード
from selenium import webdriver from bs4 import BeautifulSoup import requests driver = webdriver.Chrome(executable_path='chromedriver') driver.get('https://tenshoku.mynavi.jp/search/list/') res = requests.get('https://tenshoku.mynavi.jp/search/list/') res.raise_for_status() soup = BeautifulSoup(res.text, "html.parser") elems = soup.select('.linkArrowS') i = 2 for elem in elems: if elem.string == '詳細を見る': elem_rink = elem.get('href') if 'msg/' in elem_rink: elem_rp = elem_rink.replace('msg/', '') print('https://tenshoku.mynavi.jp/' + elem_rp) else: print('https://tenshoku.mynavi.jp/' + elem_rink) next_page = driver.find_element_by_class_name('iconFont--arrowLeft') next_page.click()
補足情報(FW/ツールのバージョンなど)
お力添えをいただきたいです。。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー