huga_xをsleniumで要素を指定し、for文で次のようにseleniumでスクレイピング抽出してますが、要素が表示されるとされない場合があり、抽出の仕方がわからず困っております。
スクレイピング対象のHTMLは次のとおり。
html
1 2<div class =‘xin’ > 3 4<p class =‘pin’ > huga 5</p> 6 7<p class =‘pin’ > huga_x ・・・・(?) 8</p> 9 10</div> 11
次の指定で要素を抽出しています。
python
1for a in bun: 2x= a.find_elements_by_css_selector(".pin”)[1].text
が、
(?)の部分が表示されているページであればうまく抽出できるのですが、表示されている場合とない場合があり、ない場合はIndexError: list index out of rangeとなり、プログラムが作動しません。(?)の要素は、ページによって表示順が異なる場合もあるようです。
しかしながら、表示される場合に必ず要素に含まれる「_x」がありますので、これをうまくつかえないかと考えているのですが、良い対応策があればご教示いただければ幸いです。
なお環境はmac,python3です。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。