前提・実現したいこと
iframe内のhtmlにアクセスしたいです。
通常の方法ではアクセスできないため、下記順序をとる必要があることはわかりました。
①iframeに参照先を切り替える
②HTMLを取得する
③参照先を元に戻す
現在「①iframeに参照先を切り替える」 が上手くいきませんので解決方法をご教示いただきたいです。
また②③に関しても、予定しているコードを記載いたしますので、問題ございましたらご指摘いただきたいです。
該当のソースコード
【取得したいHTML】 <iframe id="newsframe" name="menuf" scrolling="yes" seamless="" src="jps_slot_36.php">(IFRAME 機能を有効にして下さい)</iframe> 【pythonのコード】 #①iframeに参照先を切り替える driver= webdriver.Chrome(executable_path = ウェブドライバのパス) iframe = driver.find_element_by_id('newsframe') driver.switch_to.frame(iframe) #②HTMLを取得する cur_url = driver.current_url #現在のURLを変数に代入 cur_html = req.urlopen(cur_url) #URLを参照して現在のHTMLを取得 #③参照先を元に戻す driver.switch_to.default_content()
発生している問題・エラーメッセージ
該当のソースコード2行目に対して下記エラーが発生しています。(2020/12/14修正) NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"[id="newsframe"]"} (Session info: chrome=87.0.4280.88)