Selenium所用版本爲3.11.0
第一個Selenium自動化測試腳本
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
driver.find_element_by_id("kw").send_keys("Selenium")
driver.find_element_by_id("su").click()
driver.quit()
WebDriver中的常用方法
點擊
from selenium import webdriver
driver=webdriver.Chrome()
driver.get("https://www.baidu.com")
driver.find_element_by_id("kw").clear()
driver.find_element_by_id("kw").send_keys("selenium")
driver.find_element_by_id("su").click()
driver.quit()
提交
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
search_text=driver.find_element_by_id('kw')
search_text.send_keys('selenium')
search_text.submit()
driver.quit()
獲取屬性值等
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
#獲得輸入框的尺寸
size = driver.find_element_by_id('kw').size
print(size)
#返回百度頁面底部備案信息
text=driver.find_element_by_id("bottom_layer").text
print(text)
#返回元素的屬性值,可以是id、name、type或其他任意屬性
attribute=driver.find_element_by_id("kw").get_attribute('type')
print(attribute)
#返回元素的結果是否可見,返回結果爲True或False
result = driver.find_element_by_id("kw").is_displayed()
print(result)
driver.quit()
控制瀏覽器窗口大小
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://m.baidu.com")
#參數數字爲像素
print("設置瀏覽器寬480、高800顯示")
# driver.set_window_size(480,800)
driver.maximize_window()
driver.quit()
控制瀏覽器後退、前進
from selenium import webdriver
driver = webdriver.Chrome()
#訪問百度首頁
first_url = 'http://www.baidu.com'
print("now access %s" %(first_url))
driver.get(first_url)
#訪問新聞頁
second_url = 'http://news.baidu.com'
print("now access %s" %(second_url))
driver.get(second_url)
#返回(後退)到百度首頁
print("back to %s " %(first_url))
driver.back()
#手動刷新
driver.refresh()
#前進到新聞頁
print("forward to %s " %(second_url))
driver.forward()
driver.quit()
懸停
from selenium import webdriver
#引入ActionChains類
from selenium.webdriver import ActionChains
driver = webdriver.Chrome()
driver.get("https://www.baidu.cn")
driver.maximize_window()
#定位到要懸停的元素
above=driver.find_element_by_link_text("設置")
#對定位到的元素執行鼠標懸停操作
ActionChains(driver).move_to_element(above).perform()
鍵盤操作
from selenium import webdriver
#調用key模塊
from selenium.webdriver.common.keys import Keys
#在輸入框輸入內容
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
#刪除多輸入的一個m
driver.find_element_by_id("kw").send_keys("selenium")
driver.find_element_by_id("kw").send_keys(Keys.BACK_SPACE)
#輸入空格鍵+"教程"
driver.find_element_by_id("kw").send_keys(Keys.SPACE)
driver.find_element_by_id("kw").send_keys("教程")
#輸入組合鍵Ctrl+a,全選輸入框內容
driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'a')
#輸入組合鍵Ctrl+x,剪切輸入框內容
driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'x')
#輸入組合鍵Ctrl+v,粘貼輸入框內容
driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'v')
#用回車鍵代替單擊操作
driver.find_element_by_id("su").send_keys(Keys.ENTERN)
driver.quit()
獲得驗證信息
from time import sleep
from selenium import webdriver
driver=webdriver.Chrome()
driver.get("https://www.baidu.com")
print("Before search=====================")
#打印當前頁面title
title=driver.title
print("title:"+title)
#打印當前頁面URL
now_url=driver.current_url
print("URL:"+now_url)
driver.find_element_by_id("kw").send_keys("selenium")
driver.find_element_by_id("su").click()
sleep(2)
print("After search========================")
#再次打印當前頁面title
title=driver.title
print("title:"+title)
#再次打印當前頁面URL
now_url=driver.current_url
print("URL:"+now_url)
#獲取搜索結果條數
num = driver.find_element_by_class_name("nums").text
print("result:"+num)
driver.quit()