選擇下拉列表首先需要匯入依賴包(select是個類):
兩種方法:
from selenium.webdriver.support.ui import select
from selenium.webdriver.support.select import select
第一步:例項化select類物件:
select_element=select(self.driver.find_element_by_name("fruit"))
第二步:選擇選項
# 有三種方法
select_element.select_by_index(index) #index從0開始
select_element.select_by_value(value)
select_element.select_by_visible_text(text)
第三步:返回所選的選項是否是希望被選擇的選項
#返回所有選項
select_element.all_options
#返回被預設選中的選項
select_element.first_selected_option
#返回所有被選中的選項
select_element.all_selected_options
html下拉列表**:
桃子西瓜
橘子獼猴桃
山楂荔枝
>
測試**:
from selenium import webdriver
# 匯入sele包
from selenium.webdriver.support.ui import select
from time import sleep
import unittest
class droplist(unittest.testcase):
def setup(self):
self.driver=webdriver.firefox()
# 遍歷所有選項
def test_drop_list(self):
url="file:///f:/workspace/try.html"
self.driver.get(url)
select_element=self.driver.find_element_by_name("fruit")
all_options=select_element.find_elements_by_tag_name("option")
for option in all_options:
print(option.text)
# 選擇下拉列表中的元素
def test_select_list_ele(self):
url="file:///f:/workspace/try.html"
self.driver.get(url)
# 例項化乙個select類物件
select_element=select(self.driver.find_element_by_name("fruit"))
print("列印select_element:",select_element)
print("預設選中項的文字:",select_element.first_selected_option.text)
# 所有選項的頁面元素物件
all_options=select_element.options
# 方法一:通過序號選擇第二個元素,需要從0開始
'''如果第二個元素可以操作,但是沒有被選中
那麼,通過索引選擇第二個元素'''
if all_options[1].is_enabled() and not all_options[1].is_selected():
select_element.select_by_index(1)
print("通過索引選擇選項:",select_element.all_selected_options[0].text)
# 方法二:通過顯示文字選擇文字為「獼猴桃」的選項
select_element.select_by_visible_text("獼猴桃")
print("通過選項文字選擇選項:",select_element.all_selected_options[0].text)
# 方法三:通過選項的value屬性值選擇value='山楂'的選項
select_element.select_by_value("shanzha")
# for option in select_element.all_selected_options:
# print(option.text) -->驗證得:select_element.all_selected_options是乙個列表,列表內只有「山楂乙個元素」
print("通過value屬性值選擇選項:",select_element.all_selected_options[0].text)
def teardown(self):
self.driver.quit()
if __name__ == '__main__':
unittest.main()
WebDriver API 之操作多選的選擇列表
取消所有已選項的方法 select element.deselect all 取消已選項的三種方法 select element.deselect by visible text text select element.deselect by index index select element.d...
Webdriver API之元素定位
webdriver提供了8種元素定位方法 id name class name tag name link text partial link text xpath css selector 一 以上8種元素定位,webdriver提供兩套寫法 1.用by定位元素 通過by來宣告定位的方法,需引入b...
常用WebDriver API 的用法 6
1 操作單選框 doctype html html lang en head title 操作單選框 title head body form input type radio name fruit value berry 士多啤梨 input br input type radio name fr...