FirefoxのDevTools経由でGoogle検索テキストフィールドの入力id
の値を確認すると、値がlst-ib
と表示されますが、要素をFirebugを使用して、私はgs_htif
と値を参照してください。FirefoxのDevToolsとFirebugで表示されたときにGoogle検索テキストフィールドの入力IDが異なる
同じフィールドのid
値は両方のツールで異なって表示されている理由だから私は思っていました。
FirefoxのDevTools経由でGoogle検索テキストフィールドの入力id
の値を確認すると、値がlst-ib
と表示されますが、要素をFirebugを使用して、私はgs_htif
と値を参照してください。FirefoxのDevToolsとFirebugで表示されたときにGoogle検索テキストフィールドの入力IDが異なる
同じフィールドのid
値は両方のツールで異なって表示されている理由だから私は思っていました。
Firefox構造ツールとFirebugの両方のHTML構造を注意深く見ると、タグのid="lst-ib"
とid="gs_htifo"
が表示されます。
カーソルを置く方法や、要素を識別するこれらの方法の1つが他のものと異なる場合があります。
Chrome IDでは "q"です。これはFirefoxのようにIDが "lst-ib"であるため、動的であるため、別の属性を探したり、CssSelector、Absolute Xpathなどの異なる方法で要素を見つけたければ.. –
私はそのような場合、要素を取得する最良の方法は、xpathを使用することだと思います。 私は、自動化を開始しているときに同じ問題に直面しました。 *を使用してcssロケータに言及することもできますが、chormeとfirefoxで検索するとcssロケータが異なるので、xpathで作業するのが最も良い解決策です。
この回答をより役立つように小さなサンプルコードスニペットを追加してはいけませんか? –
Google検索サイトDevToolsとFirebugのHTML構造を慎重に見ると、複数の<input>
要素(ID:lst-ib
、gs_taif0
、gs_htif0
)が相互に(自動補完用に)配置されています。また、それらのツール内でマウスの上にマウスを置くと、ボックスモデルが強調表示されます。
したがって、FirePathで書いたCSSセレクタまたはXPathでは、クラスではなくIDを検索する必要があります。
セレクタまたはXpathにid = "lst-ib"を使用すると、ロケータのみを識別できます。 id = "gs_htifo"を使用すると、ロケータは識別されません。 – Jason
これは、IDの末尾にゼロがあり、oではないためです。私。 'gs_htif0'。 –
ちなみに、[FirebugのHTMLパネル内で直接XPathとCSSセレクタを検索する](バージョン2.0以降)(https://getfirebug.com/wiki/index.php/HTML_Panel#Search)が可能です。だから、もうFirePathを使う必要はありません。 –
* Inspect Element(Q)*はFirefox Developer Toolsを開きますので、それに応じて質問を調整しました。 –