2

単数形の関数と複数形の関数の違いは何ですか?

find_element_by_name
find_elements_by_name

find_element_by_tag_name
find_elements_by_tag_name
4

2 に答える 2

6

私は python と selenium に精通しているわけではありませんが、ほとんどの DOM 関数は同じように動作します。

find_element_by_namename 属性が名前と一致する要素を返す必要があります (最初に見つかったインスタンス)

<input name="username" type="text" value="Enter Username" />

find_elements_by_name一致する要素のコレクション/配列を返します

<input name="continue" type="submit" value="Login" />
<input name="continue" type="button" value="Clear" />

find_element_by_tag_name一致するタグ名を持つ要素の最初のインスタンスを返すだけで似ています。

find_element_by_tag_name("a") // return the first anchor

find_elements_by_tag_name一致するタグ名のコレクション/配列を再び返します。

これらのコマンドをチェーンしたり、保存された要素でそれらを呼び出したりすることが可能である場合、get_element(s)_*関数からの結果は、呼び出されたノードに関連します。

<html>
  <body>
    <div>
       <a href="#1">Example 1</a>
       <a href="#2">Example 2</a>
    </div>
    <span>
       <a href="#3">Example 3</a>
       <a href="#4">Example 4</a>
    </span>
  </body>
</html>

find_element_by_tag_name("a")==Example 1

find_element_by_tag_name("span").find_element_by_tag_name("a")==Example 3

コレクション/配列の反復

links = browser.find_elements_by_tag_name("a")

for link in links
 # link should be a Selenium WebElement?

疑わしい場合は、結果全体をダンプして、その内容を確認できます。

Python オブジェクト/プロパティのデバッグ

于 2012-12-30T12:08:21.713 に答える