(一)操作文本輸入框
常用方法 | 說明 |
sendkeys() | 設值 |
clear() | 清空文本框內容 |
get_attribute() | 獲取文本框中的值 |
is_display() | 判斷元素是否顯示 |
案例演示:
from time import sleep
from selenium import webdriver
driver = webdriver.Firefox(executable_path="F:\GeckoDriver\geckodriver")
driver.get("https://www.imooc.com/")
driver.implicitly_wait(10)
# 1.文本框設值
driver.find_element_by_class_name("search-input").send_keys("selenium")
sleep(3)
# 2.獲取文本框中的值
str = driver.find_element_by_class_name("search-input").get_attribute("value")
print("=========="+str)
# 3.清空文本框中的值
sleep(3)
driver.find_element_by_class_name("search-input").clear()
(二)操作CheckBox
常用方法 | 說明 |
click() | 點擊checkbox |
isEnable() | 判斷元素是否可以點擊 |
isSelect() | 判斷元素是否選中 |
is_display() | 判斷元素是否顯示 |
案例演示
from time import sleep
from selenium import webdriver
driver = webdriver.Firefox(executable_path="F:\GeckoDriver\geckodriver")
driver.get("https://www.imooc.com/")
driver.implicitly_wait(10)
driver.find_element_by_link_text("登錄").click()
sleep(3)
element = driver.find_element_by_id("auto-signin")
# 1.判斷元素是否顯示
if element.is_displayed():
print("元素已顯示在頁面")
print("元素未顯示")
# 2.判斷元素可點擊
if element.is_enabled():
print("元素可點擊")
print("元素不可點擊")
# 3.判斷元素是否選中
if element.is_selected():
print("元素已選中")
sleep(3)
print("取消已選中元素")
element.click()
(三)操作redio、select
常用方法 | 說明 |
click() | 點擊redio |
isEnable() | 判斷元素是否可以點擊 |
isSelect() | 判斷元素是否選中 |
is_display() | 判斷元素是否顯示 |
select_by_value() | value是select元素的value |
select_by_index() | select列表中元素的索引 |
select_by_visible_text() | select列表下拉框的值 |
案例演示
from time import sleep
from selenium import webdriver
from selenium.webdriver.support.select import Select
driver = webdriver.Firefox(executable_path="F:\GeckoDriver\geckodriver")
driver.get("https://www.imooc.com/")
driver.implicitly_wait(10)
driver.find_element_by_link_text("登錄").click()
sleep(3)
# 1.登錄操作
driver.find_element_by_class_name("xa-emailOrPhone").send_keys(xxx)
driver.find_element_by_name("password").send_keys("xxx")
driver.find_element_by_css_selector('input[value="登錄"]').click()
sleep(6)
driver.get("https://www.imooc.com/user/setprofile")
sleep(3)
driver.find_element_by_link_text("編輯").click()
sleep(3)
# 4.下拉框操作
formElememt = driver.find_element_by_id("profile")
elememt1 = formElememt.find_element_by_id("job")
Select(elememt1).select_by_value("18")
elememt2 = formElememt.find_element_by_id("province-select")
Select(elememt2).select_by_visible_text("湖南")
# 5.redio的使用
elememt3 = driver.find_element_by_xpath("(//input[@type='radio'])[5]")
if not elememt3.is_selected():
elememt3.click()
#6.文本框
driver.find_element_by_xpath("(//textarea[@name='aboutme'])[2]").send_keys("123123123")
(四)操作button按鈕
自動化用例編寫有時候我們需要判斷按鈕是否可以點擊,需要掌握按鈕相關操作
方法 | 說明 |
click() | 點擊按鈕 |
isEnable() | 判斷按鈕是否可以點擊 |
(五)frame/iframe多表單切換
方法 | 說明 |
switch_to_frame(element) | 切換到iframe窗體 |
switch_to_default_content(element) | 切換到最外層窗體 |
from time import sleep
from selenium import webdriver
driver = webdriver.Firefox(executable_path="F:\GeckoDriver\geckodriver")
driver.get("https://www.imooc.com/")
driver.implicitly_wait(10)
driver.find_element_by_link_text("登錄").click()
sleep(3)
# 1.登錄操作
driver.find_element_by_class_name("xa-emailOrPhone").send_keys(xxx)
driver.find_element_by_name("password").send_keys("xxx")
driver.find_element_by_css_selector('input[value="登錄"]').click()
sleep(6)
driver.get("https://www.imooc.com/article/publish#")
sleep(3)
# 1.定位到iframe元素
element = driver.find_element_by_id("ueditor_0")
driver.switch_to_frame(element)
driver.switch_to_default_content()
driver.find_element_by_tag_name("body").send_keys("hello world")
(六)文件上傳操作
(七)table操作
1.通過selenium定位方式(id、name、xpath等方式)定位table標籤
#html源碼<table border="5" id="table1" width="80%">#selenium操作代碼table1=driver.find_element_by_id('table1')
2.獲取總行數(也就是獲取tr標籤的個數)
#html源碼<tr><th>姓名</th><th>性別</th></tr>#selenium操作源碼
table_rows = table1.find_elements_by_tag_name('tr')
3.獲取總列數(也就是tr標籤下面的th標籤個數)
#html源碼<tr><th>姓名</th><th>性別</th></tr>#selenium操作源碼:第一個tr標籤下有多少個th
table_rows = table_rows[0].find_elements_by_tag_name('th')
4.獲取單個cell值
#selenium操作源碼:第一行第二列的text值row1_col2 = table_rows[1].find_elements_by_tag_name('td')[1].text
5.取值比對~