Selenium3自動テスト[15]クラス、要素配置の名前

名前の位置付け

名前による配置は、要素を配置するもう1つの一般的な方法です。
要素にname属性がある場合は、nameを使用してその要素を見つけることができますが、Bing検索ボックスを例として取り上げます(name = "q")。例:図に示すように、find_element_by_name( "q")。
Selenium3自動テスト[15]クラス、要素配置の名前
検索ボックス要素の属性説明HTMLコードは次のとおりです。

`<input class =" b_searchbox "id =" sb_form_q "name =" q "title ="入搜索词 "type =" search "value =" "maxlength =" 100 "autocapitalize =" off "autocorrect =" off "autocomplete = "off" pellcheck = "false" aria-controls = "sw_as" aria-autocomplete = "both" aria-owns = "sw_as"> ``

Seleniumは、FireFoxブラウザーを使用して、入力ボックスコードを次のように駆動および操作します。

from selenium import webdriver

driver=webdriver.Firefox()

driver.get("https://cn.bing.com/")
driver. find_element_by_name("q").send_keys("bella")
driver.quit() # 关闭浏览器

クラスポジショニング

ほとんどのフロントエンドスタイルはクラスごとにレンダリングされるため、要素を配置するときに、クラスを選択してそれらを見つけることもできます。クラスは、CSSで定義された属性を関連付けるために使用されます。
Bingホームページの検索ボックスclass = "b_searchbox"。図5-8に示すように。
find_element_by_class_name( "b_searchbox")を使用して、検索ボックスを見つけます。
検索ボックス要素の属性説明HTMLコードは次のとおりです。

<input class="b_searchbox" id="sb_form_q" name="q" title="输入搜索词" type="search" value="" maxlength="100" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" aria-controls="sw_as" aria-autocomplete="both" aria-owns="sw_as">

図に示すように、検索ボックス要素の属性

Selenium3自動テスト[15]クラス、要素配置の名前

Seleniumは、FireFoxブラウザーを使用して、入力ボックスコードを次のように駆動および操作します。

from selenium import webdriver

driver= webdriver.Firefox()

driver.get("https://cn.bing.com/")
driver.find_element_by_class_name("b_searchbox").send_keys("bella")
driver.quit() # 关闭浏览器

注:
要素のクラス属性値は、スペースで区切られた2つの値で構成されている場合があります([Baidu]ボタン要素class = "bg s_btn"など)。現時点では、クラスで配置する場合、そのうちの1つのみです。図に示すように、使用できます(class = "bgs_btn"で "s_btn"を使用するだけです)。
説明する例として、Baidu検索ページを取り上げます。

  • まず、検索ボックスと[Baiduクリック]ボタンを見つけます。
  • キーボードから検索したキーワードを入力します。
  • マウスを使用して[Baiduonce]ボタンをクリックします。
  • 検索リクエストを送信します。

Selenium3自動テスト[15]クラス、要素配置の名前
Baidu(Baidu)ホームページ検索ボックス要素の属性説明HTMLコードは次のとおりです。
<input id = "kw" name = "wd" class = "s_ipt" value = "" maxlength = "255" autocomplete = "off">
示されているように、ラジオボタン要素。

Selenium3自動テスト[15]クラス、要素配置の名前

Baidu(Baidu)ホームページ[Baidu]ボタン要素の属性説明HTMLコードは次のとおりです。

`<input type="submit" id="su" value="百度一下" class="bg s_btn">`

コード:

from selenium import webdriver

driver= webdriver.Firefox()

driver.get("https://www.baidu.com/")

driver.find_element_by_id("kw").send_keys("bella")    #通过id定位搜索框元素且赋值bella
driver.find_element_by_class_name("bg s_btn").click()  #通过class定位【百度一下】按钮并单击

上記のコードを実行すると、PyCharmのコンソールに次のエラーが表示されます。
Selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: .bg s_btn

driver.find_element_by_class_name( "bg s_btn")コードの "bgs_btn"を "s_btn"に変更します。

from selenium import webdriver

driver= webdriver.Firefox()

driver.get("https://www.baidu.com/")

driver.find_element_by_id("kw").send_keys("bella")
#driver.find_element_by_class_name("bg s_btn").click()        
driver.find_element_by_class_name("s_btn").click()

コードを実行し、エラーを報告せずに[BaiduClick]ボタンを正常にクリックできることを確認します。コード実行中は、Baiduのセキュリティ検証方法である[Baidu Click]ボタンをクリックすると、図5-11の検証情報が表示されるので、気にする必要はありません。
Selenium3自動テスト[15]クラス、要素配置の名前

driver.find_element_by_class_name( "bg s_btn")コードの "bgs_btn"を "bg"に変更します。

from selenium import webdriver

driver= webdriver.Firefox()

driver.get("https://www.baidu.com/")

driver.find_element_by_id("kw").send_keys("bella")
#driver.find_element_by_class_name("bg s_btn").click()
driver.find_element_by_class_name("bg").click()

コードを実行して、検索ボックスにbellaを正常に入力できることを確認しますが、[Baiduクリック]ボタンは実際にはクリックされていません。コードの実行が終了し、エラーは報告されません。
Baidu検索ページを例にとると、find_element_by_class_nameメソッドを使用して[Baidu One]ボタン要素を見つけると、次の結論を導き出すことができます。

  • クラス属性値「bgs_btn」を直接使用することはできません。コードが間違っています。
  • 「bgs_btn」を「bg」に変更します。コードはエラーなしで正常に終了しますが、[Baidu]のボタン要素はクリックされません。
  • 「bgs_btn」が「s_btn」に変更され、コードが正常に実行され、[BaiduClick]のボタン要素が正しくクリックされるようになりました。

注:
ID、名前、およびクラスは、要素を見つけるために最も一般的に使用されるメソッドです。

[ビデオコースの全シリーズをテストする]クリックしてください...
https://edu.51cto.com/lecturer/968349.html
Selenium3自動テスト[13] FireFoxおよびChromeブラウザ要素の配置

書籍はJD.comで入手でき、Dangdangは
JD.comで入手できますhttps
://item.jd.com/12784287.html Dangdang:http//product.dangdang.com/29177828.html

Selenium3自動テスト[13] FireFoxおよびChromeブラウザ要素の配置
Selenium3自動テスト[15]クラス、要素配置の名前

おすすめ

転載: blog.51cto.com/starpoint/2659175