Web オートメーション テストを行う場合、ドロップダウン ボックスは絶対に避けられません。その実装について簡単に説明しましょう。
ドロップダウン選択ボックスのフロントエンドを実装するには 2 つの方法があります。
1.本来のやり方
<select> </select>
2. js を使用してオプションの表示または非表示を制御し、select タグと同じ効果を実現します
<div> </div>
ドロップダウンボックス選択の実装方法
1. 上記 2 つの方法に適用できる従来の操作
まず選択ボックス要素を見つけてクリックし、ドロップダウン ボックスのオプションが表示されたら、オプション要素を見つけてクリックします。
2. Select クラスは、select タグによって実装されたドロップダウン ボックスにのみ適用できます。
原理は実際には従来の操作のステップですが、Selenium はコードをカプセル化して使用するのに便利な Select クラスを提供します。
練習
練習に便利な Python 言語で簡単な HTML ファイルを作成します。コードは次のとおりです。
<html lang="en">
<head>
<meta charset="UTF-8">
<title>select选择框的操作</title>
</head>
<body>
<h6>花测试 select选择框的操作</h6>
<select id="test">
<option value="hsl">何时了</option>
<option value="qy">秋月</option>
<option value="ch">春花</option>
</select>
</body>
</html>
1. 日常業務
from selenium import webdriver
driver = webdriver.Chrome()
driver.implicitly_wait(10)
driver.maximize_window()
url = '根据实际填写:在本地打开上面的html文件,然后复制浏览器上的url粘贴过来'
driver.get(url)
# 常规通用法
select_cl = driver.find_element('id', 'test')
select_cl.click()
select_cl = driver.find_element('xpath', '//option[text()="秋月"]')
select_cl.click()
2. Select クラスを使用する
from selenium import webdriver
from selenium.webdriver.support.select import Select
driver = webdriver.Chrome()
driver.implicitly_wait(10)
driver.maximize_window()
url = '根据实际填写:在本地打开上面的html文件,然后复制浏览器上的url粘贴过来'
driver.get(url)
select_cl = driver.find_element('id', 'test') # 定位选择框元素
s = Select(select_cl) # 初始化一个 select 对象
# 方法1:通过option选项中的 value 属性选中选项
s.select_by_value('qy')
# 方法2:通过索引选中选项
s.select_by_index(1) # 从0开始
# 方法3:通过文本选中选项
s.select_by_visible_text('秋月')