Python+Selenium實(shí)現(xiàn)瀏覽器的控制操作
瀏覽器參數(shù)設(shè)置
設(shè)置瀏覽器參數(shù)實(shí)在定義driver的時(shí)候設(shè)置chrome_options,該參數(shù)時(shí)Options類(lèi)所實(shí)例化的一個(gè)對(duì)象。代碼演示如下:
from selenium import webdriver
#導(dǎo)入Options類(lèi)
from selenium.webdriver.chrome.options import Options
#實(shí)例化Options
chrome_options = Options()
# 設(shè)置瀏覽器參數(shù)
# --headless不顯示瀏覽器啟動(dòng)及執(zhí)行過(guò)程
chrome_options.add_argument('--headless')
# 啟動(dòng)瀏覽器并設(shè)置chrom_options
driver = webdriver.Chrome(chrome_options = chrome_options)
瀏覽器窗口大小設(shè)置
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
# 設(shè)置瀏覽器最大化
driver.maximize_window()
# 設(shè)置瀏覽器最小化
driver.minimize_window()
# 設(shè)置瀏覽器寬高
width = 100
high = 100
driver.set_window_size(width, high)
獲取瀏覽器內(nèi)容
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
# 獲取網(wǎng)頁(yè)title
driver.title
# 獲取網(wǎng)頁(yè)的HTML代碼
driver.page_source
控制瀏覽器前進(jìn)/后退
#瀏覽器的前進(jìn) 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()#前進(jìn)到python
time.sleep(3)
控制瀏覽器滾動(dòng)條
瀏覽器滾動(dòng)條的控制需要依靠js腳本
#將瀏覽器滾動(dòng)條滑到最頂端 document.documentElement.scrollTop=0 #將瀏覽器滾動(dòng)條滑到最底端 document.documentElement.scrollTop=10000 #將瀏覽器滾動(dòng)條滑到最底端, 示例 js="var q=document.documentElement.scrollTop=10000" driver.execute_script(js)
其中,execute_script(script, *args),在當(dāng)前窗口/框架同步執(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)
# 滾動(dòng)條滾到底端
js='var q=document.documentElement.scrollTop=10000'
driver.execute_script(js)
time.sleep(4)
# 滾動(dòng)條滾到頂端
js='var q=document.documentElement.scrollTop=0'
driver.execute_script(js)
time.sleep(4)
瀏覽器多窗口切換
瀏覽器多窗口切換是在同一個(gè)瀏覽器中切換不同的窗口。
# 打開(kāi)新的窗口 js ='window.open(url)' driver.execute_script(js) # 獲取當(dāng)前窗口信息 current_window = driver.current_window_handle # 獲取當(dāng)前瀏覽器全部窗口信息 handles = driver.window_handles # 進(jìn)行窗口切換 driver.switch_to.window(handles[0])
示例:
import time
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
time.sleep(5)
# 打開(kāi)新的窗口
js ='window.open("https://www.sogou.com/")'
driver.execute_script(js)
# 獲取當(dāng)前窗口信息
current_window = driver.current_window_handle
# 獲取當(dāng)前瀏覽器全部窗口信息
handles = driver.window_handles
# 進(jìn)行窗口切換
time.sleep(5)
driver.switch_to.window(handles[0])到此這篇關(guān)于Python+Selenium實(shí)現(xiàn)瀏覽器的控制操作的文章就介紹到這了,更多相關(guān)Python Selenium瀏覽器控制內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python使用Selenium實(shí)現(xiàn)瀏覽器打印預(yù)覽功能
- python selenium對(duì)應(yīng)的瀏覽器chromedriver版本不一致問(wèn)題
- Python+Selenium實(shí)現(xiàn)瀏覽器標(biāo)簽頁(yè)的切換
- Python+selenium實(shí)現(xiàn)瀏覽器基本操作詳解
- Python之Selenium自動(dòng)化瀏覽器測(cè)試詳解
- Python爬蟲(chóng)之Selenium實(shí)現(xiàn)關(guān)閉瀏覽器
- Python使用Selenium模擬瀏覽器自動(dòng)操作功能
- python使用selenium操作瀏覽器的實(shí)現(xiàn)示例
相關(guān)文章
如何利用opencv訓(xùn)練自己的模型實(shí)現(xiàn)特定物體的識(shí)別
在Python中通過(guò)OpenCV自己訓(xùn)練分類(lèi)器進(jìn)行特定物體實(shí)時(shí)識(shí)別,下面這篇文章主要給大家介紹了關(guān)于如何利用opencv訓(xùn)練自己的模型實(shí)現(xiàn)特定物體的識(shí)別,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-10-10
python matplotlib保存圖片不全問(wèn)題及解決
這篇文章主要介紹了python matplotlib保存圖片不全問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09
Python+Selenium實(shí)現(xiàn)短視頻自動(dòng)上傳與發(fā)布的實(shí)踐
本文主要介紹了Python+Selenium實(shí)現(xiàn)短視頻自動(dòng)上傳與發(fā)布的實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04
Python提高運(yùn)行速度工具之Pandarallel的使用教程
為了提高運(yùn)行速度,我們一般會(huì)采用多進(jìn)程的方式。而常見(jiàn)的方案對(duì)于普通python玩家來(lái)說(shuō)都不是特別友好,怎樣才能算作一個(gè)友好的并行處理方案?本文就來(lái)和大家講講pandarallel的使用2022-09-09
Scrapy之爬取結(jié)果導(dǎo)出為Excel的實(shí)現(xiàn)過(guò)程
這篇文章主要介紹了Scrapy之爬取結(jié)果導(dǎo)出為Excel的實(shí)現(xiàn)過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12
使用Python實(shí)現(xiàn)優(yōu)雅生成假數(shù)據(jù)
Faker是一個(gè)Python包,開(kāi)源的GITHUB項(xiàng)目,主要用來(lái)創(chuàng)建偽數(shù)據(jù),這篇文章主要為大家詳細(xì)介紹了Python如何使用Faker生成假數(shù)據(jù),感興趣的小伙伴可以了解下2023-12-12

