前提・実現したいこと
Pythonでwebスクレイピングをしており,ページに含まれるデータ(文字列や値)をとってきたいと思っています.
発生している問題・エラーメッセージ
目的のページまでseleniumを用いて到達出来ましたが,その後HTMLの要素を指定し,findをしても要素が見つかりません.
式自体のエラーは出ていませんが,データのlenが0になってしまいます.
該当のソースコード
添付の画像がHTMLのソースコードです.
試したこと
入手したいデータのタブはtdであったため,該当のページを開いた状態でまずは以下の式を実行しました.
<プログラム>
page_source = driver.page_source
soup = bs4.BeautifulSoup(page_source, 'html.parser')
a=soup.find_all("head")
print(len(a))
<結果>
0
driver.find_element_by_tag_nameや,xpathなどいろいろ試しましたが,そちらも要素が見つかりません.そこで,print(soup)でsoupを書きだしたでみると以下のようになりました.
<結果>
<html xmlns="http:// "><head><title>
</title><meta content="IE=edge" http-equiv="X-UA-Compatible"/></head>
<frameset border="0" frameborder="0" framespacing="0" rows="33,*">
<frame frameborder="no" name="TOPFRAME" noresize="" scrolling="no" src="munuTop.aspx?URL=cabc525a-9a7a-4f83-804c-6cf55e76fc77"/>
<frame name="MAINFRAME" src="https:// /?id=7006&Token=cabc525a-9a7a-4f83-804c-6cf55e76fc77"/>
</frameset>
</html>
他の同じようなHTMLの構成のページからのデータの抜き取りは成功しており,その際のsoupはもっと長かったので,soup自体が読み込めていないのかと思いましたが..
結果,欲しいデータは2つ目のframeの中の方にありますが,find出来たタグはframeまでで,それ以下の,head,div等はfind出来ませんでした.framesetのlenは1,frameのlenは2という結果となり,そこまでは正しくfind出来ていました.
プログラミング初心者で,質問も初めてで作法も分からないため,おかしな点がありましたら申し訳ございません.記述が足りない部分などございましたらご指摘ください.
他のアプローチも含め,アドバイスよろしくお願い致します.