前提・実現したいこと
seleniumでスクレイピングを行っていますが、要素を取得する際にエラーが出てしまい困っています。
要素取得の方法についてご教授ください。
エラーメッセージについて、xpathでコードを書いた際のメッセージを表示していますが、cssで指定した際にも同様のメッセージが出ます。
発生している問題・エラーメッセージ
NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"/html/body/table/tbody/tr[10]/td/table/tbody/tr/td/table/tbody/tr[3]/td[1]/a/font/b"}
該当のソースコード
python
1driver.find_element_by_xpath('/html/body/table/tbody/tr[10]/td/table/tbody/tr/td/table/tbody/tr[3]/td[1]/a/font/b').click()
試したこと
cssで要素を指定
補足情報(FW/ツールのバージョンなど)
windows
python
XPathの指定が間違っていると言うことなので、
driver.find_element_by_xpath(~)を実行する直前の状態のブラウザでHTMLを確認しましょう。
ご回答ありがとうございます。
確認しましたが、やはり変わりないです。
別のタブ等が開かれているため同様の症状が出ることもあるようですが、今回別のタブが開かれているということもありません。
一応再度xpathとcssをのさせていただきます。
xpath:/html/body/table/tbody/tr[10]/td/table/tbody/tr/td/table/tbody/tr[3]/td[1]/a
css:body > table > tbody > tr:nth-child(10) > td > table > tbody > tr > td > table > tbody > tr:nth-child(3) > td:nth-child(1) > a
上記の末尾がaとbで違いますが、その点は関係ないかと思います。
ちなみにa、bともに実行しましたが、どちらもえらーになりました。
ちゃんとHTMLを見ていますか?copy XPathしただけじゃ無いでしょうね?
iframeの中に入っているとか。
対象箇所のHTMLを追記させていただきました。
当方プログラミング初心者のため、確認の足りないところがあり申し訳ありません。
対象箇所を再度確認しましたが、私の知識の中では特段問題ないようにかんじました。
可能でしたら、該当箇所のついても下記に記しますのでご確認いただければ幸いです。
HTML:
<td align="center" valign="middle" rowspan="2"><a href="/servlet/ITS/stock/IpoNewOrder;jsessionid=a33e223a362a47fcca4a0a453e58b558b642bfc1?encodePrm=8x1s7lp7d8onvie7mlrm9on64&attrSrcKey=a33e223a362a47fcca4a0a453e58b558b642bfc117d0571cbdb2" target="_self" onclick="return linkCheck()"><font color="#211799"><b>申告する</b></font></a></td>
ちなみにiframeについては
driver.switch_to.frame('/html/body/table/tbody/tr[10]/td/table/tbody/tr/td/table/tbody/tr[3]/td[1]/a/font/a')
を実行したところ、
NoSuchFrameException: Message: /html/body/table/tbody/tr[10]/td/table/tbody/tr/td/table/tbody/tr[3]/td[1]/a/font/a
とエラーが出てしまいました。
まずは、iframeとは何か学んでください。
driver.page_source の中に、iframeタグが無ければ今回は関係ないです。
> driver.switch_to.frame('/html/body/table/tbody/tr[10]/td/table/tbody/tr/td/table/tbody/tr[3]/td[1]/a/font/a')
これは全然駄目です。
あなたの回答
tips
プレビュー