以下のURLの翻訳結果にアクセスしたかった
翻訳は、2 つのフレームのうち、下部のコンテンツ フレームに表示されます。翻訳を取得するために下部のコンテンツ フレームのみを取得することに関心があります。
Selenium for python を使用すると、Web オートメーションを介してページ コンテンツをフェッチできます。
browser.get('http://translate.google.com/#en/ar/'+hurl)
必要なフレームは iframe です:
<div id="contentframe" style="top:160px"><iframe src="/translate_p?hl=en&am... name=c frameborder="0" style="height:100%;width:100%;position:absolute;top:0px;bottom:0px;"></div></iframe>
しかし、ウェブ自動化を使用して翻訳を取得するために下部のコンテンツ フレーム要素を取得する方法は?
PyQuery を使用すると、JQuery 形式を使用してコンテンツを参照することもできることがわかりました
アップデート:
答えは、Selenium がそれを行う方法を提供すると述べました。
frame = browser.find_element_by_tag_name('iframe')
browser.switch_to_frame(frame)
# get page source
browser.page_source
しかし、上記の例では機能しません。空のページを返します。