seleniumでページ遷移後の要素取得がしたい
Python3で使用環境はMac,テキストエディタはAtomです
発生している問題
ページ遷移した後の要素を取得できない
### 該当のソースコード #! python3.8 import urllib.request,urllib.error import bs4 import openpyxl from selenium import webdriver from time import sleep from openpyxl.styles import Alignment #Webページに遷移 print('GooGling...') driver = webdriver.Firefox(executable_path='/Users/katsuhisaoikawa/opt/anaconda3/bin/geckodriver') url = 'http://ssd.cswiki.jp/index.php?%E6%AD%B4%E5%8F%B2%EF%BC%A1%E3%83%A9%E3%83%B3%E3%82%AF' driver.get(url) sleep(5) #ページ内のキーワードを示すHTMLを取得 soup1 = bs4.BeautifulSoup(driver.page_source, 'html.parser') titles = [] for title in soup1.select('p a'): titles.append(title.getText()) #キーワードの説明のページに遷移しHTMLを取得 ##キーワードのリンクのURLを取得 explain_urls = [] elems_explain_url = driver.find_elements_by_css_selector('#body p a') for elem_explain_url in elems_explain_url: explain_url = elem_explain_url.get_attribute('href') explain_urls.append(explain_url) ##取得したリンクに遷移し、そのページのHTMLを取得 explanations = [] related_terms = [] elems_explanation = driver.find_elements_by_css_selector('#body') elems_related_term = driver.find_elements_by_css_selector('#body') for explain_url_list in explain_urls: driver.get(explain_url_list) sleep(30) for elem_explanation in elems_explanation: explanation = elem_explanation.get_attribute('p') explanations.append(explanation) for elem_related_term in elems_related_term: related_term = elem_related_term.get_attribute('a') related_terms.append(related_term) driver.back()
Python3 Atomにて編集
試したこと
ページの読み込みが終わる前に取得し始めたのかと思い、
sleep(10)からsleep(30)に変更したが変わらず変化なし。
補足情報
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/28 14:10
2020/04/28 14:21
2020/04/28 16:43
2020/04/29 02:37
2020/05/02 16:12