前提・実現したいこと
seleniumでproject Gutenberg(英語版青空文庫)の人気図書のリンクを取得したいのですが、要素数は正しいはずなのに「IndexError: list assignment index out of range」と表示されてしまいます。
###コード
python
1options=webdriver.ChromeOptions() 2 3print("connect!") 4driver=webdriver.Chrome(options=options) 5 6#Gutenbergへ移動 7driver.get('https://www.gutenberg.org/ebooks/search/?sort_order=downloads') 8 9#作品をクリック elementsにすることで配列として複数のデータを取得可能 10print(driver.title) 11html_list=driver.find_elements_by_class_name("booklink") 12 13#ここからインデックスエラーが発生する 14tags=[] 15arr_pattern=[] 16driver.find_elements_by_xpath("xpath") 17pattern="/html/body/div[@id='content']/div[@div/ul[@class='results']/li[@class='booklink'][1]/aclass='body']/[@class='link']/span[@class='cell content']/span[@class='title']" 18 19for a in range(25): 20 astr=str(a+1) 21#ここでre.subを使ってpatternの[1]の部分を置換する 22 pattern=re.sub('[0-9]+',astr, pattern) 23 arr_pattern[a]=pattern 24 tags[a]=driver.find_element_by_xpath(arr_pattern[a])
###エラー
IndexError Traceback (most recent call last) <ipython-input-30-b004aab7775c> in <module> 1 for i in range(len(novel_click)): 2 sleep(2) ----> 3 links[i].click 4 sleep(2) 5 url = driver.find_element_by_class_name("links").get_attribute("href") IndexError: list index out of range
試したこと
rangeをprintして要素数を表示したり、型を確認しましたが問題ありませんでした。
補足情報(FW/ツールのバージョンなど)
chromedriver-binary==92.0.4515.107.0
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/07 06:00
2021/08/07 06:00