教你怎么用Python selenium操作瀏覽器對(duì)象的基礎(chǔ)API
前言
相比于高大上的各種Selenium進(jìn)階指南,個(gè)人認(rèn)為夯實(shí)基礎(chǔ)至關(guān)重要。
在Selenium測(cè)試框架的API中,主要分為三大類:
1.對(duì)瀏覽器本身的相關(guān)操作。
2.對(duì)瀏覽器頁(yè)面中,元素的定位操作。
3.對(duì)瀏覽器頁(yè)面中元素進(jìn)行定位后,對(duì)該元素的一些操作。如:點(diǎn)擊、輸入等操作。
我們本篇文章先說(shuō)說(shuō)Selenium框架對(duì)瀏覽器對(duì)象的基礎(chǔ)操作。
一、導(dǎo)入Selenium庫(kù)
# 導(dǎo)入Selenium驅(qū)動(dòng) from selenium import webdriver
二、創(chuàng)建瀏覽器對(duì)象
即:打開(kāi)一個(gè)瀏覽器。
# 語(yǔ)法:driver = webdriver.xxx() driver = webdriver.Chrome() # 使用dir(driver)查看瀏覽器對(duì)象的操作 print(dir(driver))
三、瀏覽器窗口大小設(shè)置
# 1.設(shè)置瀏覽器尺寸 # 寬480、高800(最好根據(jù)顯示器分別調(diào)整) driver.set_window_size(480, 800) # 2.獲取瀏覽器尺寸 driver.get_window_size() # 3.瀏覽器窗口最大化(很常用) driver.maximize_window()
示例:
"""
1.學(xué)習(xí)目標(biāo)
掌握selenium中控制瀏覽器窗口大小的方法
2.操作步驟(方法)
2.1設(shè)置瀏覽器窗口大小,寬度,高度
driver.set_window_size(寬,高)
2.2 獲取瀏覽器窗口大小
driver.get_window_size()
2.3將瀏覽器窗口最大化
driver.maximize_window)
3.需求
使用selenium實(shí)現(xiàn)對(duì)瀏覽器窗口大小的設(shè)置
"""
# 1.導(dǎo)入seleniun
from selenium import webdriver
from time import sleep
# 2.打開(kāi)谷歌瀏覽器(獲取瀏覽器操作對(duì)象)
driver = webdriver.Chrome()
# 3.設(shè)置瀏覽器窗口大小
# 3.1 將窗口設(shè)置為寬100,高200
# (windowHandle參數(shù)為窗口句柄,以后再說(shuō))
driver.set_window_size(100, 200)
sleep(3)
# 3.2 獲取瀏覽器窗口大小
window_size = driver.get_window_size()
print(window_size)
# 3.3 窗口最大化
driver.maximize_window()
# 4.關(guān)閉瀏覽器
driver.quit()
"""
輸出結(jié)果:
{'width': 516, 'height': 200}
"""
四、瀏覽器位置設(shè)置
# 1.獲取瀏覽器位置 driver.get_window_position() # 2.設(shè)置瀏覽器位置 driver.set_window_position(x,y)
注:顯示器以左上角為(0,0),所有的位置操作都是相對(duì)于顯示器左上角展開(kāi)的位移操作,單位是像素。
示例:
"""
1.學(xué)習(xí)目標(biāo)
掌握selenium中控制瀏覽器窗口位置的方法
2.操作步驟(方法)
2.1 設(shè)置瀏覽器窗口位置(橫縱坐標(biāo))
set_window_position(橫坐標(biāo),縱坐標(biāo))
2.2 獲取瀏覽器窗口位置
driver.get_window_position()
3.需求
使用selenium實(shí)現(xiàn)對(duì)瀏覽器窗口位置的設(shè)置
"""
# 1.導(dǎo)入seleniun
from selenium import webdriver
from time import sleep
# 2.打開(kāi)谷歌瀏覽器(獲取瀏覽器操作對(duì)象)
driver = webdriver.Chrome()
# 3.設(shè)置瀏覽器位置
# 3.1 將窗口的位置設(shè)置為100,300
driver.set_window_position(100, 300)
sleep(2)
# 3.2 獲取瀏覽器窗口位置
window_position = driver.get_window_position()
print(window_position)
# 4.關(guān)閉瀏覽器
driver.quit()
"""
輸出結(jié)果:
{'x': 100, 'y': 300}
"""
五、請(qǐng)求訪問(wèn)網(wǎng)址
# 請(qǐng)求某個(gè)url # 語(yǔ)法:driver.get(url) # 工作中寫(xiě)法 url = "http://www.baidu.com" driver.get(url)
示例:
"""
1.學(xué)習(xí)目標(biāo)
掌握selenium中控制瀏覽器訪問(wèn)指定網(wǎng)站的操作
2.操作步驟(方法)
請(qǐng)求某個(gè)url
語(yǔ)法:driver.get(url)
3.需求
使用selenium實(shí)現(xiàn)對(duì)瀏覽器訪問(wèn)指定網(wǎng)站的操作
"""
# 1.導(dǎo)入seleniun
from selenium import webdriver
from time import sleep
# 2.打開(kāi)谷歌瀏覽器(獲取瀏覽器操作對(duì)象)
driver = webdriver.Chrome()
# 3.訪問(wèn)網(wǎng)站
url = "http://www.baidu.com"
driver.get(url)
sleep(2)
# 4.關(guān)閉瀏覽器
driver.quit()
六、瀏覽器頁(yè)面前進(jìn)、后退和刷新
# 1.頁(yè)面前進(jìn) driver.forward() # 2.頁(yè)面后退 driver.back() # 3.頁(yè)面刷新 driver.refresh()
示例:
"""
1.學(xué)習(xí)目標(biāo)
掌握selenium控制瀏覽器的前進(jìn),后退,刷新
2.操作步驟(語(yǔ)法)
2.1前進(jìn)
driver.forward()
2.2后退
driver.back()
2.3刷新
driver.refresh()
3.需求
使用谷歌瀏覽器分別打開(kāi)百度,京東,淘寶,使用前進(jìn),后退,刷新方法
"""
# 1.導(dǎo)入selenium
from selenium import webdriver
from time import sleep
# 2.打開(kāi)瀏覽器---谷歌瀏覽器
driver = webdriver.Chrome()
# 3.窗口最大化
driver.maximize_window()
sleep(2)
# 4.輸入網(wǎng)址百度,京東,淘寶
driver.get("http://www.baidu.com")
sleep(2)
driver.get("http://www.jd.com")
sleep(2)
driver.get("http://www.taobao.com")
sleep(2)
# 5.使用前進(jìn),后退,刷新命令
# 前進(jìn)
driver.back() # 后退到京東
sleep(2)
driver.back() # 后退到百度
sleep(2)
# 后退
driver.forward() # 前進(jìn)到京東
sleep(2)
driver.forward() # 前進(jìn)到淘寶
sleep(2)
# 刷新
driver.refresh() # 保持在淘寶頁(yè)面
sleep(2)
# 6.關(guān)閉瀏覽器
driver.quit()
七、關(guān)閉瀏覽器
(1)關(guān)閉當(dāng)前窗口
# 只關(guān)閉當(dāng)前瀏覽器窗口 driver.close()
(2)退出驅(qū)動(dòng)并關(guān)閉所有關(guān)聯(lián)的窗口
# 即關(guān)閉瀏覽器窗口,同時(shí)關(guān)閉瀏覽器驅(qū)動(dòng) driver.quit()
到此這篇關(guān)于教你怎么用Python selenium操作瀏覽器對(duì)象的基礎(chǔ)API的文章就介紹到這了,更多相關(guān)Python selenium操作API內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python實(shí)現(xiàn)提取jira bug列表的方法示例
公司要求內(nèi)部每日整理jira bug發(fā)郵件,手動(dòng)執(zhí)行了一段時(shí)間,想著用自動(dòng)化的方式實(shí)現(xiàn),所以本文主要介紹了python實(shí)現(xiàn)提取jira bug列表,感興趣的可以了解一下2021-05-05
快速排序的算法思想及Python版快速排序的實(shí)現(xiàn)示例
快速排序算法來(lái)源于分治法的思想策略,這里我們將來(lái)為大家簡(jiǎn)單解析一下快速排序的算法思想及Python版快速排序的實(shí)現(xiàn)示例:2016-07-07
Pandas實(shí)現(xiàn)列(column)排序的幾種方法
Pandas是一種高效的數(shù)據(jù)處理庫(kù),在數(shù)據(jù)處理過(guò)程中,咱們經(jīng)常需要將列按照一定的要求進(jìn)行排序,本文就來(lái)介紹一下Pandas實(shí)現(xiàn)列(column)排序的幾種方法,感興趣的可以了解一下2023-11-11
使用Python實(shí)現(xiàn) 學(xué)生學(xué)籍管理系統(tǒng)
這篇文章主要介紹了使用Python實(shí)現(xiàn) 學(xué)生學(xué)籍管理系統(tǒng),代碼大致分為五個(gè)函數(shù)組成,具體內(nèi)容詳情本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2019-11-11
Python 批量驗(yàn)證和添加手機(jī)號(hào)碼為企業(yè)微信聯(lián)系人
你是否也有過(guò)需要添加很多微信好友的時(shí)候,一個(gè)個(gè)輸入添加太麻煩了,本篇文章手把手教你用Python替我們完成這繁瑣的操作,大家可以在過(guò)程中查缺補(bǔ)漏,看看自己掌握程度怎么樣2021-10-10
PyCharm遠(yuǎn)程調(diào)試代碼配置以及運(yùn)行參數(shù)設(shè)置方式
這篇文章主要介紹了PyCharm遠(yuǎn)程調(diào)試代碼配置以及運(yùn)行參數(shù)設(shè)置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01

