単数形の関数と複数形の関数の違いは何ですか?
find_element_by_name
find_elements_by_name
と
find_element_by_tag_name
find_elements_by_tag_name
単数形の関数と複数形の関数の違いは何ですか?
find_element_by_name
find_elements_by_name
と
find_element_by_tag_name
find_elements_by_tag_name
私は python と selenium に精通しているわけではありませんが、ほとんどの DOM 関数は同じように動作します。
find_element_by_name
name 属性が名前と一致する要素を返す必要があります (最初に見つかったインスタンス)
<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?
疑わしい場合は、結果全体をダンプして、その内容を確認できます。