2016-09-27 20 views
1

学校プロジェクトでは、異なるWebサイトからさまざまなフォームを入力できるPythonスクリプトを作成しようとしています。Selenium Python:id/name/cssセレクタで要素を取得できません

ここでは、いくつかの種類のウェブサイトでは、セレンのフォーム要素を捕まえることができません。 など。 http://www.top-office.com/jeu firefoxでページを検査する場合、入力「名前」ボックスには「姓」というIDがありますが、Seleniumはそれを取得できません。このページのhtmlコードを表示すると、別のページなどからフォームが表示されるように見えます。

私はgetelementbyid、byname、bycssselectorなどを試してみました。 WebDriverWait(driver、5)を使用してページが完全に読み込まれるのを待っても、動作しません。

解決方法や提案はありますか?

PS:でもJavaScriptを使用して、私はidであなたと対話しようとしている要素は、IFRAMEの内部にある

おかげ

答えて

1

を、この要素を取得することはできませんよ。そのiframeに焦点を当てるようにドライバを切り替えるには、driver.switch_to_frame()メソッドを使用する必要があります。そのiframeに切り替わったときにのみ、その要素とやりとりすることができます。

使用方法はthis postを参照してください。あなたはxpathを使ってiframeを見つけることができます://iframe[@src = 'https://adbx.me/grandjeuclubmed/']。それから、私があなたに与えた投稿に記載されているコードを使うことができます。

+0

要素がフレーム内にあることをどのように知っていましたか?私はiFrameコードを見た後でしかそれを理解できませんでした。