一、radio框
radio框選擇選項,直接用webelement的click方法,模擬使用者點選就可以了。
比如, 我們要在下面的html中:
先列印當前選中的老師名字
再選擇 小雷老師
網頁資訊
小江老師
小雷老師
小凱老師
對應的**如下
from selenium import webdriver
wd = webdriver.chrome()
wd.implicitly_wait(10)
wd.get('')
# 獲取當前radio框預設選擇值
elmt = wd.find_element_by_css_selector('#s_radio input[checked="checked"]')
elmt_value = elmt.get_attribute('value')
print('當前選中的是:' + elmt_value)
# 選擇其他老師
wd.find_element_by_css_selector('#s_radio input[value="小雷老師"]').click()
二、checkbox框
對checkbox進行選擇,也是直接用 webelement 的 click 方法,模擬使用者點選選擇。
需要注意的是,要選中checkbox的乙個選項,必須 先獲取當前該核取方塊的狀態 ,如果該選項已經勾選了,就不能再點選。否則反而會取消選擇。
比如, 我們要在下面的html中:選中 小雷老師
小江老師
小雷老師
小凱老師
我們的思路可以是這樣:
先把 已經選中的選項全部點選一下,確保都是未選狀態
再點選 小雷老師 小江老師
**如下:
from selenium import webdriver
wd = webdriver.chrome()
wd.implicitly_wait(10)
wd.get('')
# 核取方塊選擇思路:先把已經選中的選項全部點選一下,確保都是未選狀態,再進行選擇
elmts = wd.find_elements_by_css_selector('#s_checkbox input[checked="checked"]')
for elmt in elmts:
elmt.click()
wd.find_element_by_css_selector('#s_checkbox input[value="小雷老師"]').click()
wd.find_element_by_css_selector('#s_checkbox input[value="小江老師"]').click()
三、select框
radio框及checkbox框都是input元素,只是裡面的type不同而已。
select框 則是乙個新的select標籤,大家可以對照瀏覽器網頁內容檢視一下
對於select 選擇框, selenium 專門提供了乙個 select類 進行操作。
select類 提供了如下的方法
select_by_value
根據選項的 value屬性值 ,選擇元素。
比如,下面的html,
bar就可以根據 foo 這個值選擇該選項,
s.select_by_value('foo')
select_by_index
根據選項的 次序 (從0開始),選擇元素
select_by_visible_text
根據選項的 可見文字 ,選擇元素。
比如,下面的html,
bar就可以根據 bar 這個內容,選擇該選項
s.select_by_visible_text('bar')
deselect_by_value
根據選項的value屬性值, 去除 選中元素
deselect_by_index
根據選項的次序,去除 選中元素
deselect_by_visible_text
根據選項的可見文字,去除 選中元素
deselect_all
去除 選中所有元素
3.1select單選框
**例子如下:
from selenium import webdriver對於select多選框,要選中某幾個選項,要注意去掉原來已經選中的選項。 例如,我們選擇示例多選框中的 小雷老師 和 小凱老師 可以用select類 的deselect_all方法,清除所有 已經選中 的選項。# 匯入select類
from selenium.webdriver.support.ui import select
wd = webdriver.chrome()
wd.implicitly_wait(10)
wd.get('')
# select單選框,直接用slecet方法選擇即可
# 建立select物件
selct = select(wd.find_element_by_id('ss_single'))
# 通過物件選中小雷老師
selct.select_by_value('小雷老師')
3.2、select多選框
**例子如下:
from selenium import webdriver
# 匯入select類
from selenium.webdriver.support.ui import select
wd = webdriver.chrome()
wd.implicitly_wait(10)
wd.get('')
# select單選框,直接用slecet方法選擇即可
# 建立select物件
selct = select(wd.find_element_by_id('ss_multi'))
# 清除所有已經選中的選項
selct.deselect_all()
# 通過物件選中小雷老師
selct.select_by_value('小雷老師')
selct.select_by_value('小江老師')
selenium 自動化測試。
第一步安裝 谷歌瀏覽器。第三步編寫測試測試指令碼 第四步 安裝selemium coding utf 8 引入webdriver和unittest所需要的包 from selenium import webdriver from selenium.webdriver.common.by import...
Selenium自動化測試之python應用
selenium支援多種程式語言,本篇介紹selenium自動化測試之python應用,基礎入門篇。環境搭建 pycharm python3.7 selenium 使用最新版 2 python3.7 安裝成功後,不需配置環境變數 4 在cmd視窗中執行 pip install selenium 5 ...
自動化測試之六 自動化測試模型
from selenium import webdriver chrome driver path r c users administrator envs selenuimautotest lib site packages selenium webdriver chrome chromedriv...