Selenium系列(二) - 詳細解讀針對瀏覽器的操作


如果你還想從頭學起Selenium,可以看看這個系列的文章哦!

https://www.cnblogs.com/poloyy/category/1680176.html

 

其次,如果你不懂前端基礎知識,需要自己去補充哦,博主暫時沒有總結(雖然我也會,所以我學selenium就不用復習前端了哈哈哈...)

 

控制瀏覽器有哪些操作?

  • 最大化、最小化瀏覽器
  • 控制、獲取瀏覽器大小
  • 獲取當前標簽頁title、url
  • 前進、后退、刷新
  • 執行js語句
  • 打開、關閉新標簽頁
  • 滾動頁面

點擊右邊目錄即可跳轉哦! -------------->>>>>>>>>> 

 

最大化、最小化瀏覽器

from time import sleep
from selenium import webdriver

# 加載瀏覽器驅動
driver = webdriver.Chrome("../resources/chromedriver.exe")

# 訪問網址
driver.get("https://www.baidu.com")

# 最大化瀏覽器
driver.maximize_window()

sleep(2)

# 最小化瀏覽器
driver.minimize_window()

 

控制、獲取瀏覽器大小

# 加載瀏覽器驅動
driver = webdriver.Chrome("../resources/chromedriver.exe")

# 訪問網址
driver.get("https://www.baidu.com")

# 獲取瀏覽器大小
size = driver.get_window_size()
print(f"瀏覽器大小:{size}")

sleep(2)

# 設置瀏覽器大小
driver.set_window_size(1200, 1000)

執行結果

瀏覽器大小:{'width': 1936, 'height': 1056}

知識點

get_window_size() 返回的是字典

 

獲取當前標簽頁title、url

# 加載瀏覽器驅動
driver = webdriver.Chrome("../resources/chromedriver.exe")

# 訪問網址
driver.get("https://www.baidu.com")

# 獲取當前標簽頁的title
print(f"標簽頁title:{driver.title}")

# 獲取當前標簽頁的url
print(f"標簽頁url:{driver.current_url}")

# 獲取當前瀏覽器的名稱(不常用)
print(f"標簽頁name:{driver.name}")

# 獲取當前頁面完整的HTML代碼
(不常用)
 print(f"標簽頁page_source:{driver.page_source}")

執行結果

標簽頁title:百度一下,你就知道
標簽頁url:https://www.baidu.com/
標簽頁name:chrome
標簽頁page_source:<html><head>...</head></html>

 

前進、后退、刷新

# 前進
driver.forward()

# 后退
driver.back()

# 刷新
driver.refresh()

 

執行js語句

# 同步執行js
js='console.log(2)'
driver.execute_script(js)

# 異步執行js
driver.execute_async_script("alert(2)")

 

打開、關閉新標簽頁

# 打開新的標簽頁
js = 'window.open("https://www.baidu.com/")'
driver.execute_script(js)

# 獲取當前標簽頁句柄
print(driver.current_window_handle)

# 獲取瀏覽器所有標簽頁句柄
handles = driver.window_handles
print(handles)

# 切換標簽頁
driver.switch_to.window(handles[-1])

# 關閉當前標簽頁
driver.close()

執行結果

CDwindow-24C58D8D81CCC95D5D55E887402B7E0A
['CDwindow-24C58D8D81CCC95D5D55E887402B7E0A', 'CDwindow-04C35D93CD4A04351BAC1CFFA36378CA', 'CDwindow-AC59AC67423FB8463AF0C534C7A47098']

知識點

  • 打開新的標簽頁只能通過 js 來操作
  • 可以根據標簽頁的句柄來切換標簽頁
  • 操作標簽頁的好處就是,可以只打開一個瀏覽器但可以訪問多個不同的網頁;這在后續集成單元測試框架(unittest、pytest)的時候會有很大的幫助

 

滾動頁面

# 滾動隨機高度
js = "var q=document.documentElement.scrollTop=" + random.randint(100, 999)
driver.execute_script(js)

知識點

這里暫時只介紹js的滾動方法,滾動其實有幾種高級方法的,后續有空補上

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM