Python+Selenium實現瀏覽器的控制操作
更新時間:2022年09月19日 15:24:19 作者:今天也是敲代碼的一天哦
這篇文章主要為大家詳細介紹了Python+Selenium如何實現常見的瀏覽器控制操作,例如:瀏覽器參數設置、控制瀏覽器前進/后退等,感興趣的可以了解一下
瀏覽器參數設置
設置瀏覽器參數實在定義driver的時候設置chrome_options,該參數時Options類所實例化的一個對象。代碼演示如下:
from selenium import webdriver
#導入Options類
from selenium.webdriver.chrome.options import Options
#實例化Options
chrome_options = Options()
# 設置瀏覽器參數
# --headless不顯示瀏覽器啟動及執(zhí)行過程
chrome_options.add_argument('--headless')
# 啟動瀏覽器并設置chrom_options
driver = webdriver.Chrome(chrome_options = chrome_options)
瀏覽器窗口大小設置
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
# 設置瀏覽器最大化
driver.maximize_window()
# 設置瀏覽器最小化
driver.minimize_window()
# 設置瀏覽器寬高
width = 100
high = 100
driver.set_window_size(width, high)
獲取瀏覽器內容
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
# 獲取網頁title
driver.title
# 獲取網頁的HTML代碼
driver.page_source
控制瀏覽器前進/后退
#瀏覽器的前進 browser.forward() #瀏覽器的后退 browser.back()
示例:
import time
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()
time.sleep(3)
driver.find_element_by_id('kw').clear()
driver.find_element_by_id('kw').send_keys('python')
driver.find_element_by_id('su').click()
time.sleep(3)
driver.back()#回到selenium
time.sleep(3)
driver.forward()#前進到python
time.sleep(3)
控制瀏覽器滾動條
瀏覽器滾動條的控制需要依靠js腳本
#將瀏覽器滾動條滑到最頂端 document.documentElement.scrollTop=0 #將瀏覽器滾動條滑到最底端 document.documentElement.scrollTop=10000 #將瀏覽器滾動條滑到最底端, 示例 js="var q=document.documentElement.scrollTop=10000" driver.execute_script(js)
其中,execute_script(script, *args),在當前窗口/框架同步執(zhí)行javaScript
示例:
import time
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()
time.sleep(3)
# 滾動條滾到底端
js='var q=document.documentElement.scrollTop=10000'
driver.execute_script(js)
time.sleep(4)
# 滾動條滾到頂端
js='var q=document.documentElement.scrollTop=0'
driver.execute_script(js)
time.sleep(4)
瀏覽器多窗口切換
瀏覽器多窗口切換是在同一個瀏覽器中切換不同的窗口。
# 打開新的窗口 js ='window.open(url)' driver.execute_script(js) # 獲取當前窗口信息 current_window = driver.current_window_handle # 獲取當前瀏覽器全部窗口信息 handles = driver.window_handles # 進行窗口切換 driver.switch_to.window(handles[0])
示例:
import time
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
time.sleep(5)
# 打開新的窗口
js ='window.open("https://www.sogou.com/")'
driver.execute_script(js)
# 獲取當前窗口信息
current_window = driver.current_window_handle
# 獲取當前瀏覽器全部窗口信息
handles = driver.window_handles
# 進行窗口切換
time.sleep(5)
driver.switch_to.window(handles[0])到此這篇關于Python+Selenium實現瀏覽器的控制操作的文章就介紹到這了,更多相關Python Selenium瀏覽器控制內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
linux環(huán)境下安裝python虛擬環(huán)境及注意事項
這篇文章主要介紹了linux環(huán)境下安裝python虛擬環(huán)境,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2020-01-01
python虛擬環(huán)境virtualenv的使用教程
本篇文章主要介紹了python虛擬環(huán)境virtualenv的使用教程,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-10-10

