亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python中Selenium的基本使用步驟

 更新時間:2023年11月10日 10:03:44   作者:落慯  
Selenium是一個用于自動化瀏覽器操作的Python庫,常用于Web應用的測試和爬蟲等場景,本文給大家介紹Python中Selenium的基本使用教程,感興趣的朋友一起看看吧

一、Selenium是什么?

Selenium是一個用于自動化瀏覽器操作的Python庫,常用于Web應用的測試和爬蟲等場景。

二、使用步驟  

1.引入庫

安裝Selenium庫:使用pip命令安裝Selenium庫。可以運行以下命令進行安裝:

pip install selenium==4.5

目前有更高版本4.10,但是高版本有些參數被改了或舍棄了,使用起來要自己去找官方文檔,不方便。而且過高的Selenium版本和Chrome瀏覽器版本不兼容,之前用的selenium4.10打開chrome瀏覽器會秒退,后來將版本換為4.5就解決了 。

2.下載瀏覽器驅動

Selenium需要使用瀏覽器驅動來控制瀏覽器。這里以ChromeDriver為例,下載地址為:https://chromedriver.storage.googleapis.com/index.html

根據自己的Chrome版本進行下載

 我的是版本到了115,但是ChromeDriver目前只有114的,選最新的版本,目前沒遇見問題。

3.配置瀏覽器驅動

將下載的chromedriver.exe文件放置在與你的Python腳本相同的目錄下

并將瀏覽器驅動添加到系統(tǒng)的環(huán)境變量中,或將其路徑配置為Selenium的WebDriver對象的參 數,在計算機上搜索高級系統(tǒng)設置->環(huán)境變量->path->新建->復制路徑->確定。

4.創(chuàng)建WebDriver對象

 使用Selenium的WebDriver對象來控制瀏覽器。根據使用的瀏覽器類型和驅動的配置,創(chuàng)建對應   的WebDriver對象。

from selenium import webdriver
# 創(chuàng)建Chrome瀏覽器的WebDriver對象
driver = webdriver.Chrome()

 webdriver.Chrome的常用參數

4.1.options 

一個Options對象,用于配置Chrome瀏覽器的選項。你可以使用該對象來設置瀏覽器窗口大小、啟用/禁用瀏覽器的擴展程序、設置用戶代理等等。

from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument('--start-maximized')  # 最大化窗口
options.add_argument('--disable-extensions')  # 禁用擴展程序
driver = webdriver.Chrome(options=options)

 4.2.service

一個Service對象,用于配置和啟動ChromeDriver服務。如果沒有顯式指定,它將搜索系統(tǒng)的PATH環(huán)境變量來找到ChromeDriver服務。

from selenium.webdriver.chrome.service import Service
service = Service('chromedriver.exe')
driver = webdriver.Chrome(service=service)

4.3.desired_capabilities

一個字典,用于設置WebDriver的所需能力。你可以使用該字典來設置瀏覽器的版本、操作系統(tǒng)、瀏覽器名稱等等。

caps = {'browserName': 'chrome', 'version': '', 'platform': 'ANY'}
driver = webdriver.Chrome(desired_capabilities=caps)

4.4.executable_path 

指定Chrome驅動的路徑。如果沒有顯式指定,它將搜索系統(tǒng)的PATH環(huán)境變量來找到Chrome驅動程序。貌似被棄用了,我使用的時候報出警告了,用第二個service替換就行了。

5.WebDriver的屬性 

# 打開指定的網頁
driver.get("https://www.baidu.com")
#獲取當前頁面的URL
current_url = driver.current_url
#獲取當前頁面的標題
title = driver.title
#獲取當前頁面的源代碼
page_source = driver.page_source
#獲取當前打開的所有窗口的句柄
window_handles = driver.window_handles
#獲取當前窗口的句柄
current_window_handle = driver.current_window_handle
#獲取當前WebDriver的所需能力
desired_capabilities = driver.desired_capabilities
#獲取當前WebDriver的能力
capabilities = driver.capabilities

6.元素定位 

Selenium提供了多種元素定位的方法,可以根據元素的屬性、文本、位置等進行定位。以下是一些常用的元素定位方法:

舊版的selenium使用方法:

#通過id定位元素
element = driver.find_element_by_id("element-id") 
#通過class name定位元素
element = driver.find_element_by_class_name("element-class")
#通過name屬性定位元素
element = driver.find_element_by_name("element-name")
#通過tag name定位元素
element = driver.find_element_by_tag_name("element-tag")
#通過鏈接文本定位元素
element = driver.find_element_by_link_text("link-text")
#通過部分鏈接文本定位元素
element = driver.find_element_by_partial_link_text("partial-link-text")
#通過CSS選擇器定位元素
element = driver.find_element_by_css_selector("css-selector")
#通過XPath表達式定位元素
element = driver.find_element_by_xpath("xpath-expression")

新版的selenium有兩種定位方式,element = driver.find_element("id", "element-id")和element = driver.find_element(By.ID,"su") 這兩種方式本質上是等效的,都是通過元素的id屬性進行定位。第一種方式中,使用了字符串來表示定位策略,而第二種方式中,使用了By類來表示定位策略。By類是Selenium提供的一組常用的定位策略,用于更清晰地表示定位方式。通過使用By類,可以讓代碼更易讀且具備更好的可維護性。

from selenium.webdriver.common.by import By
# 第一種方式:使用定位策略和定位值定位元素
element1 = driver.find_element("id", "element-id")
element1 = driver.find_element("name", "element-name")
# 第二種方式:使用By類結合定位策略定位元素
element2 = driver.find_element(By.ID, "element-id")
element2 = driver.find_element(By.NAME, "element-name")

 其余舊版的定位方法都可用轉換成這兩種方式

三.打開百度網頁的簡單示例 

該示例演示了如何獲取百度頁面的源碼,如何在百度搜索框里輸入信息并點擊查找 。

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
import time
#chromedriver.exe要與該python文件放在同一個目錄下
service = Service("chromedriver.exe")
options = Options()
#初始窗口最大化
options.add_argument('--start-maximized')
driver = webdriver.Chrome(service=service, options=options)
url = "https://www.baidu.com"
driver.get(url)
#獲取網頁的源碼
content = driver.page_source
print(content)
#根據id定位到百度搜索的輸入框
input = driver.find_element(By.ID,"kw")
#在輸入框中輸入Python
input.send_keys('Python')
time.sleep(2)
#根據id定位到百度一下的按鈕
button = driver.find_element(By.ID,"su")
#按鈕點擊一下
button.click()
time.sleep(2)
#執(zhí)行JavaScript腳本,該腳本表示鼠標滾輪滑動到距離頂部100000,即滑動到底部
js_button = 'document.documentElement.scrollTop=100000'
driver.execute_script(js_button)
time.sleep(2)
#根據Xpath表達式定位下一頁的按鈕,并點擊一下
next_page = driver.find_element(By.XPATH,"http://a[@class='n']")
next_page.click()
time.sleep(2.1)
#網頁后退
driver.back()
time.sleep(1.5)
#網頁前進
driver.forward()
time.sleep(1.8)
#網頁關閉
driver.quit()

總結

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

相關文章

  • 用Python實現定時備份Mongodb數據并上傳到FTP服務器

    用Python實現定時備份Mongodb數據并上傳到FTP服務器

    這篇文章主要介紹了用Python實現定時備份Mongodb數據并上傳到FTP服務器,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • 使用Python進行SSH和文件傳輸實現方法實例

    使用Python進行SSH和文件傳輸實現方法實例

    這篇文章主要為大家介紹了使用Python進行SSH和文件傳輸實現方法實例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12
  • 詳解Python如何使用Netmiko進行文件傳輸

    詳解Python如何使用Netmiko進行文件傳輸

    Netmiko是一個用于連接和管理各種網絡設備的Python庫,它是Paramiko的一個擴展。本文就來講講如何利用Netmiko實現文件傳輸功能吧
    2023-05-05
  • Python os模塊常用方法和屬性總結

    Python os模塊常用方法和屬性總結

    這篇文章主要介紹了Python os模塊常用方法和屬性總結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • 基于Python實現2種反轉鏈表方法代碼實例

    基于Python實現2種反轉鏈表方法代碼實例

    這篇文章主要介紹了基于Python實現2種反轉鏈表方法代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07
  • python列表[list]和元組(tuple)詳情

    python列表[list]和元組(tuple)詳情

    這篇文章主要介紹了python列表[list]和元組(tuple)詳情,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-08-08
  • 將matplotlib繪圖嵌入pyqt的方法示例

    將matplotlib繪圖嵌入pyqt的方法示例

    這篇文章主要介紹了將matplotlib繪圖嵌入pyqt的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01
  • 關于python寫入文件自動換行的問題

    關于python寫入文件自動換行的問題

    今天小編就為大家分享一篇關于python寫入文件自動換行的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • python批量下載抖音視頻

    python批量下載抖音視頻

    這篇文章主要為大家詳細介紹了python批量下載抖音視頻,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • 安裝pycurl報錯Could not run curl-config: 'curl-config'

    安裝pycurl報錯Could not run curl-config: &ap

    這篇文章主要為大家介紹了安裝pycurl報錯Could not run curl-config: 'curl-config'解決方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12

最新評論