欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python?selenium?webdriver?基本使用代碼分享

 更新時(shí)間:2022年11月07日 16:39:44   作者:EXI-小洲  
這篇文章主要介紹了Python?selenium?webdriver?基本使用,本文僅僅簡(jiǎn)單介紹了selenium的使用常用代碼分享,需要的朋友可以參考下

前言

本文就介紹了Selenium的常用內(nèi)容:詳解Selenium 元素定位和WebDriver常用方法

以下是本篇文章正文內(nèi)容,下面案例可供參考

一、Pip安裝&創(chuàng)建Bowser對(duì)象

1.Pip install selenium

pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple

2.創(chuàng)建Bowser對(duì)象

# 導(dǎo)入webdriver模塊
from selenium import webdriver

# 指定使用Chrome瀏覽器
driver = webdriver.Chrome()  # chrome_options,executable_path常用這兩個(gè)參數(shù)

二、webdriver.ChromeOptions配置

配置瀏覽器的常用模式

chromeoptions 的常用功能
(1)添加啟動(dòng)參數(shù) (add_argument)
(2)添加擴(kuò)展應(yīng)用參數(shù) (add_extension, add_encoded_extension),常用在代理身份驗(yàn)證
(3)添加實(shí)驗(yàn)性質(zhì)參數(shù) (add_experimental_option)
代碼如下(示例):

options= webdriver.ChromeOptions()  # 創(chuàng)建配置對(duì)象
options.add_argument('lang=zh_CN.UTF-8')  # 設(shè)置中文
options.add_argument('--headless')  # 無(wú)頭參數(shù),瀏覽器隱藏在后臺(tái)運(yùn)行
options.add_argument('--disable-gpu') # 禁用GPU加速
options.add_argument('--start-maximized')#瀏覽器最大化
options.add_argument('--window-size=1280x1024') # 設(shè)置瀏覽器分辨率(窗口大?。?
options.add_argument('--user-agent=""') # 設(shè)置請(qǐng)求頭的User-Agent
options.add_argument('--incognito')  # 隱身模式(無(wú)痕模式)
options.add_argument(f'--proxy-server={proxy}')  # 添加IP代理 proxy=f"http://{ip}:{port}"
# 關(guān)閉'Chrome目前受到自動(dòng)測(cè)試軟體控制'的提示
options.add_experimental_option('useAutomationExtension', False)
options.add_experimental_option('excludeSwitches', ['enable-automation'])
prefs = {
	"download.default_directory":"D:\download",  # 設(shè)置瀏覽器下載地址(絕對(duì)路徑)
	"profile.managed_default_content_settings.images": 2,  # 不加載圖片
}
chrome_options.add_experimental_option('prefs', prefs)  # 添加prefs 
# chrome_options="瀏覽器配置參數(shù)", executable_path="瀏覽器驅(qū)動(dòng)絕對(duì)路徑"
driver = webdriver.Chrome(chrome_options=options")  # 創(chuàng)建瀏覽器對(duì)象
driver.maximize_window()  # 瀏覽器窗口最大化
driver.set_page_load_timeout(30)  # 設(shè)置連接超時(shí)30秒

三、常用代碼

	# 導(dǎo)入webdriver模塊
	from selenium import webdriver
	driver = webdriver.Chrome()  # chrome_options,executable_path常用這兩個(gè)參數(shù)
	# get 會(huì)一直等到頁(yè)面被完全加載,然后才會(huì)執(zhí)行下一步代碼,如果超出了set_page_load_timeout()的設(shè)置,則會(huì)拋出異常。
	driver.get("https://baidu.com/")
	new_window = driver.window_handles[-1]   # 新窗口'-1'代表打開(kāi)的最后一個(gè)窗口,導(dǎo)航欄有多少個(gè)窗口根據(jù)下標(biāo)來(lái)鎖定
	driver.switch_to.window(new_window)  # 切換到新窗口:
	driver.switch_to.frame('passport_iframe')  # 根據(jù)name或id 定位至 iframe
	driver.switch_to.default_content()  # 切換出(iframe)至默認(rèn),有好多種切換方式找BaiDu
	driver.find_element_by_xpath('//input[@xx="xxxx"]').send_keys(content)  # 根據(jù)xpath語(yǔ)法定位元素輸入內(nèi)容
	driver.find_element_by_xpath('//div[@xx="xxxx"]').click()  # 根據(jù)xpath語(yǔ)法定位元素后并點(diǎn)擊
	driver.find_element_by_xpath('//div[@xx="xxxx"]').text  # 根據(jù)xpath語(yǔ)法定位后獲取元素的文本信息
	driver.get_cookie('name')  #根據(jù)name取出對(duì)應(yīng)字典類型的對(duì)象
	driver.get_cookies()  # 返回一個(gè)列表,包含多個(gè)字典類型的對(duì)象
	# 添加Cookie部分參數(shù)介紹:name=cookie的名稱,value=cookie對(duì)應(yīng)的值,domain=服務(wù)器域名,expiry=Cookie有效終止日期
	driver.add_cookie({'name' : 'xxx', 'value' : 'xxx'})  # 添加cookie
	driver.delete_cookie('name')  # 刪除指定部分的Cookie
	driver.delete_all_cookies()  # 刪除所有Cookie
	js="var q=document.documentElement.scrollTop=10000"  # 滾動(dòng)到最下面
	js="var q=document.documentElement.scrollTop=0"  # 滾動(dòng)到最上面
	driver.execute_script(js)  # 執(zhí)行JS代碼,更多自行BaiDu 
	driver.quit()  # 退出瀏覽器

四、selenium的異常處理

# 導(dǎo)入exceptions模塊
from selenium.common import exceptions
try:
	# 執(zhí)行代碼 
except exceptions.TimeoutException:
	print("xxxx - 請(qǐng)求加載超時(shí)異常!\n", end='')
except exceptions.NoSuchElementException:
   	print("xxxx - 網(wǎng)頁(yè)元素定位異常!\n", end='')
except exceptions.NoSuchWindowException:
	print("xxxx - 目標(biāo)窗口切換異常!\n", end='')
except exceptions.WebDriverException:
   	print("xxxx - 瀏覽器對(duì)象各種異常!\n", end='')
except Exception:
	print("xxxx - 以上未捕捉到的異常!\n", end='')

selenium 更多異常參考:http://www.dbjr.com.cn/article/139384.htm

總結(jié)

例如:以上就是今天要記錄的內(nèi)容,本文僅僅簡(jiǎn)單介紹了selenium的使用,selenium 提供了大量能使我們捷地實(shí)現(xiàn)自動(dòng)化測(cè)試的函數(shù)和方法,后續(xù)會(huì)在本文的基礎(chǔ)上記錄新的常用操作。
Google官方下載地址https://www.google.cn/chrome/
Google驅(qū)動(dòng)下載地址https://npm.taobao.org/mirrors/chromedriver/
驅(qū)動(dòng)配置請(qǐng)參考http://www.dbjr.com.cn/article/266920.htm

到此這篇關(guān)于Python selenium webdriver 基本使用的文章就介紹到這了,更多相關(guān)Python selenium webdriver使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Pytorch加載部分預(yù)訓(xùn)練模型的參數(shù)實(shí)例

    Pytorch加載部分預(yù)訓(xùn)練模型的參數(shù)實(shí)例

    今天小編就為大家分享一篇Pytorch加載部分預(yù)訓(xùn)練模型的參數(shù)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • pytorch中的優(yōu)化器optimizer.param_groups用法

    pytorch中的優(yōu)化器optimizer.param_groups用法

    這篇文章主要介紹了pytorch中的優(yōu)化器optimizer.param_groups用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • python入門教程 python入門神圖一張

    python入門教程 python入門神圖一張

    這篇文章主要介紹了Python 10分鐘入門教程,分享一張Python入門神圖一張,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • 支持python的分布式計(jì)算框架Ray詳解

    支持python的分布式計(jì)算框架Ray詳解

    Ray是一種分布式執(zhí)行框架,便于大規(guī)模應(yīng)用程序和利用先進(jìn)的機(jī)器學(xué)習(xí)庫(kù),今天給大家分享支持python的分布式計(jì)算框架Ray詳解,感興趣的朋友一起看看吧
    2021-07-07
  • Python入門(六)Python數(shù)據(jù)類型

    Python入門(六)Python數(shù)據(jù)類型

    這篇文章主要介紹了Python入門(六)Python數(shù)據(jù)類型,Python是一門非常強(qiáng)大好用的語(yǔ)言,也有著易上手的特性,本文為入門教程,需要的朋友可以參考下
    2023-04-04
  • 16中Python機(jī)器學(xué)習(xí)類別特征處理方法總結(jié)

    16中Python機(jī)器學(xué)習(xí)類別特征處理方法總結(jié)

    類別型特征(categorical?feature)主要是指職業(yè),血型等在有限類別內(nèi)取值的特征。在這篇文章中,小編將給大家分享一下16種類別特征處理方法,需要的可以參考一下
    2022-09-09
  • TensorFlow tensor的拼接實(shí)例

    TensorFlow tensor的拼接實(shí)例

    今天小編就為大家分享一篇TensorFlow tensor的拼接實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01
  • django框架model orM使用字典作為參數(shù),保存數(shù)據(jù)的方法分析

    django框架model orM使用字典作為參數(shù),保存數(shù)據(jù)的方法分析

    這篇文章主要介紹了django框架model orM使用字典作為參數(shù),保存數(shù)據(jù)的方法,結(jié)合實(shí)例形式分析了字典參數(shù)結(jié)合django model實(shí)現(xiàn)保存數(shù)據(jù)相關(guān)操作技巧,需要的朋友可以參考下
    2019-06-06
  • python下setuptools的安裝詳解及No module named setuptools的解決方法

    python下setuptools的安裝詳解及No module named setuptools的解決方法

    這篇文章主要給大家介紹了關(guān)于python下setuptools的安裝以及No module named setuptools問(wèn)題的解決方法,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-07-07
  • Python中Numpy模塊使用詳解

    Python中Numpy模塊使用詳解

    這篇文章主要介紹了Python中Numpy模塊使用詳解,NumPy是Python 的一個(gè)擴(kuò)展程序庫(kù),支持大量的維度數(shù)組與矩陣運(yùn)算。更多相關(guān)內(nèi)容需要的朋友可以參考一下
    2022-07-07

最新評(píng)論