60626


Seleniumを使い、ページのテキスト情報をスクレイピングで取得しようとしています。  
ページの途中に「もっと見る」ボタンがあり、以降の情報もすべて取得したいのですが、  
「もっと見る」以前の情報しか取得されず困っています。

[code]

    driver.get("https://r.nikkei.com/search?keyword=%E3%82%A4%E3%83%B3%E3%83%95%E3%83%AB%E3%82%A8%E3%83%B3%E3%82%B6") #「インフルエンザ」で検索
    link_elems = driver.find_elements_by_class_name('search__result-footer') 
    for l in link_elems:
      l.click()
    
    text_elems = driver.find_elements_by_class_name('nui-card__head')
    text = []
    for t in text_elems:
      text.append(t.text) 
    
    
    
[/code]


CC BY-SA 4.0
2019-11-18T05:17:56.353
60624
2019-11-18T15:12:39.773
2019-11-18T15:12:39.773
36325
36325
question
python selenium
SeleniumでWebページ上の「もっと見る」ボタン以降のテキスト情報をスクレイピングする


`driver.find_elements_by_class_name`
の返り値は配列なので，`link_elem[0].click()`とやる必要があります．

そもそもの話ですが，そのコードでは，tryブロックのせいでエラーメッセージが握り潰されていてデバッグしづらいので，tryブロックを一旦消すか，エラー内容を表示するようにした方がよさそうです．


CC BY-SA 4.0
2019-11-18T06:16:28.773
60626
2019-11-18T07:09:26.247
2019-11-18T07:09:26.247
36544
36544
60624
answer