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

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

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

前言

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

以下是本篇文章正文內容,下面案例可供參考

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

1.Pip install selenium

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

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

# 導入webdriver模塊
from selenium import webdriver

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

二、webdriver.ChromeOptions配置

配置瀏覽器的常用模式

chromeoptions 的常用功能
(1)添加啟動參數 (add_argument)
(2)添加擴展應用參數 (add_extension, add_encoded_extension),常用在代理身份驗證
(3)添加實驗性質參數 (add_experimental_option)
代碼如下(示例):

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

三、常用代碼

	# 導入webdriver模塊
	from selenium import webdriver
	driver = webdriver.Chrome()  # chrome_options,executable_path常用這兩個參數
	# get 會一直等到頁面被完全加載,然后才會執(zhí)行下一步代碼,如果超出了set_page_load_timeout()的設置,則會拋出異常。
	driver.get("https://baidu.com/")
	new_window = driver.window_handles[-1]   # 新窗口'-1'代表打開的最后一個窗口,導航欄有多少個窗口根據下標來鎖定
	driver.switch_to.window(new_window)  # 切換到新窗口:
	driver.switch_to.frame('passport_iframe')  # 根據name或id 定位至 iframe
	driver.switch_to.default_content()  # 切換出(iframe)至默認,有好多種切換方式找BaiDu
	driver.find_element_by_xpath('//input[@xx="xxxx"]').send_keys(content)  # 根據xpath語法定位元素輸入內容
	driver.find_element_by_xpath('//div[@xx="xxxx"]').click()  # 根據xpath語法定位元素后并點擊
	driver.find_element_by_xpath('//div[@xx="xxxx"]').text  # 根據xpath語法定位后獲取元素的文本信息
	driver.get_cookie('name')  #根據name取出對應字典類型的對象
	driver.get_cookies()  # 返回一個列表,包含多個字典類型的對象
	# 添加Cookie部分參數介紹:name=cookie的名稱,value=cookie對應的值,domain=服務器域名,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"  # 滾動到最下面
	js="var q=document.documentElement.scrollTop=0"  # 滾動到最上面
	driver.execute_script(js)  # 執(zhí)行JS代碼,更多自行BaiDu 
	driver.quit()  # 退出瀏覽器

四、selenium的異常處理

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

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

總結

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

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

相關文章

  • Pytorch加載部分預訓練模型的參數實例

    Pytorch加載部分預訓練模型的參數實例

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

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

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

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

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

    支持python的分布式計算框架Ray詳解

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

    Python入門(六)Python數據類型

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

    16中Python機器學習類別特征處理方法總結

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

    TensorFlow tensor的拼接實例

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

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

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

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

    這篇文章主要給大家介紹了關于python下setuptools的安裝以及No module named setuptools問題的解決方法,文中介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2017-07-07
  • Python中Numpy模塊使用詳解

    Python中Numpy模塊使用詳解

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

最新評論