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

Python?selenium模塊的安裝和配置教程

 更新時間:2022年10月28日 11:41:31   作者:IT工藤新一  
這篇文章主要為大家介紹了python中selenium模塊的安裝和配置環(huán)境變量教程、提取數(shù)據(jù)操作、無頭模式,有需要的朋友可以借鑒參考下,希望能夠?qū)Υ蠹矣兴鶐椭?/div>

一、selenium的安裝以及簡單應(yīng)用

我們以谷歌瀏覽器的chromedriver為例

1、在Python虛擬環(huán)境中安裝selenium模塊

pip/pip3 install selenium

2、下載版本符合的webdriver

以chrome谷歌瀏覽器為例

查看谷歌瀏覽器的版本

鼠標點擊右上角的豎排的三個點,然后選擇“幫助”,選擇“關(guān)于 Google Chrome”,進去之后即可查看谷歌瀏覽器的版本

訪問下載chromedriver網(wǎng)站

訪問chromedriver下載地址,點擊進入不同版本的chromedriver下載頁面

點擊notes.txt進入版本說明頁面 

查看chrome和chromedriver匹配的版本

根據(jù)操作系統(tǒng)下載正確版本的chromedriver

解壓壓縮包后獲取python代碼可以調(diào)用的谷歌瀏覽器的webdriver可執(zhí)行文件

  • windows為 chromedriver.exe
  • linux和macos為 chromedriver

chromedriver環(huán)境的配置

  • windows環(huán)境下需要將 chromedriver.exe 所在的目錄設(shè)置為path環(huán)境變量中的路徑
  • linux/mac環(huán)境下,將 chromedriver 所在的目錄設(shè)置到系統(tǒng)的PATH環(huán)境值中

3、chromedriver環(huán)境配置的教程

windows環(huán)境下將 chromedriver.exe 所在的目錄設(shè)置為path環(huán)境變量中的路徑的過程

鼠標右鍵點擊“Google Chrome” ,然后點擊“打開文件所在位置”復(fù)制 chrome.exe 所在的文件路徑

接著打開“控制面板” 搜索輸入 “環(huán)境變量” 并搜索,然后點擊 “編輯系統(tǒng)環(huán)境變量”

 

二、selenium的簡單使用

Selenium是一個Web的自動化測試工具,最初是為網(wǎng)站自動化測試而開發(fā)的。

Selenium 可以直接調(diào)用瀏覽 器,它支持所有主流的瀏覽器(包括PhantomJS這些無界面的瀏覽器),可以接收指令,讓瀏覽器自動加載頁 面,獲取需要的數(shù)據(jù),甚至頁面截屏等。

我們可以使用selenium很容易完成之前編寫的爬蟲,接下來我們就來 看一下selenium的運行效果

接下來我們就通過代碼來模擬百度搜索(展示效果)

import time 
from selenium import webdriver 
 
# 通過指定chromedriver的路徑來實例化driver對象,chromedriver放在當前目錄。 
# driver = webdriver.Chrome(executable_path='./chromedriver') 
# 這里的chromedriver已經(jīng)添加環(huán)境變量 
driver = webdriver.Chrome() 
 
# 控制瀏覽器訪問url地址 
driver.get("https://www.baidu.com/") 
time.sleep(3)
# 在百度搜索框中搜索'python' 
driver.find_element_by_id('kw').send_keys('python') 
# 點擊'百度搜索' 
driver.find_element_by_id('su').click() 
time.sleep(6) 
# 退出瀏覽器 
driver.quit()

運行結(jié)果

webdriver.Chrome(executable_path='./chromedriver') 中executable參數(shù)指定的是下載好的

chromedriver文件的路徑

driver.find_element_by_id('kw').send_keys('python') 定位id屬性值是'kw'的標簽,并向其中輸入字符 串'python'

driver.find_element_by_id('su').click() 定位id屬性值是su的標簽,并點擊

click函數(shù)作用是:觸發(fā)標簽的js的click事件

三、selenium提取數(shù)據(jù)

1、driver對象常用的屬性和方法

在使用selenium過程中,實例化driver對象后,driver對象有一些常用的屬性和方法

  • driver.page_source 獲取當前標簽頁瀏覽器渲染之后的網(wǎng)頁源代碼
  • driver.current_url獲取當前標簽頁的url
  • driver.close() 關(guān)閉當前標簽頁,如果只個一個標簽頁則關(guān)閉整個瀏覽器
  • driver.quit() 關(guān)閉瀏覽器
  • driver.forward() 頁面前進
  • driver.back() 頁面后退
  • driver.screen_shot(img_name) 頁面截圖

示例

打印當前標簽頁的url

import time
from selenium import webdriver
 
driver = webdriver.Chrome()
# 控制瀏覽器訪問url地址
driver.get("https://www.baidu.com/")
time.sleep(3)
# 打印當前標簽頁的url
print(driver.current_url)
driver.quit()

運行結(jié)果:

2、driver對象定位標簽元素獲取標簽對象的方法

在selenium中可以通過多種方式來定位標簽,返回標簽元素對象

方式功能
find_element_by_id返回一個元素
find_element(s)_by_class_name根據(jù)類名獲取元素列表
find_element(s)_by_name根據(jù)標簽的name屬性值返回包含標簽對象元素的列表
find_element(s)_by_xpath返回一個包含元素的列表
find_element(s)_by_link_text根據(jù)連接文本獲取元素列表
find_element(s)_by_partial_link_text根據(jù)鏈接包含的文本獲取元素列表
find_element(s)_by_tag_name;根據(jù)標簽名獲取元素列表
find_element(s)_by_css_selector根據(jù)css選擇器來獲取元素列表

注意

find_element和find_elements的區(qū)別:

  • 多了個s就返回列表,沒有s就返回匹配到的第一個標簽對象
  • find_element匹配不到就拋出異常,find_elements匹配不到就返回空列表

by_link_text 和 by_partial_link_tex 的區(qū)別:全部文本和包含某個文本

以上函數(shù)的使用方法:

driver.find_element_by_id('id_str')

id_str是id值

示例

接下來我們就通過代碼來模擬百度搜索(具體講解)

首先我們先打開百度頁面,然后點擊網(wǎng)頁檢查 ,定位搜索框,可以看見搜索框的input標簽的id值為kw

  • 于是開始編寫基礎(chǔ)代碼
  • 通過driver.get()獲取網(wǎng)頁
  • 通過find_element_by_id('kw')定位搜索框
  • 通過.send_keys('python')向搜索框輸入搜索信息
import time
from selenium import webdriver
 
driver = webdriver.Chrome()
 
# 控制瀏覽器訪問url地址
driver.get("https://www.baidu.com/")
time.sleep(3)
# 在百度搜索框中搜索'python'
driver.find_element_by_id('kw').send_keys('python')

再定位搜索按鈕:“百度一下” ,其id值為su

完善代碼,通過 .click() 實現(xiàn)點擊搜索

import time
from selenium import webdriver
 
driver = webdriver.Chrome()
 
# 控制瀏覽器訪問url地址
driver.get("https://www.baidu.com/")
time.sleep(3)
# 在百度搜索框中搜索'python'
driver.find_element_by_id('kw').send_keys('python')
# 點擊'百度搜索'
driver.find_element_by_id('su').click()
time.sleep(6)
# 退出瀏覽器
driver.quit()

運行結(jié)果

3、標簽對象提取文本內(nèi)容和屬性值

find_element僅僅能夠獲取元素,不能夠直接獲取其中的數(shù)據(jù),如果需要獲取數(shù)據(jù)需要使用以下方法

對元素執(zhí)行點擊操作: element.click()

對定位到的標簽對象進行點擊操作

向輸入框輸入數(shù)據(jù): element.send_keys(data)

對定位到的標簽對象輸入數(shù)據(jù)

獲取文本: element.text

通過定位獲取的標簽對象的 text 屬性,獲取文本內(nèi)容

獲取屬性值: element.get_attribute("屬性名")

通過定位獲取的標簽對象的 get_attribute 函數(shù),傳入屬性名,來獲取屬性的值

獲取 “百度一下”搜索按鈕的value屬性值

import time
from selenium import webdriver
 
driver = webdriver.Chrome()
 
# 控制瀏覽器訪問url地址
driver.get("https://www.baidu.com/")
time.sleep(3)
# 點擊'百度搜索',用ele變量接受獲取的元素
ele = driver.find_element_by_id('su')
print(ele.get_attribute('value'))
time.sleep(6)
# 退出瀏覽器
driver.quit()

運行結(jié)果

四、selenium無頭模式

我們知道,當我們利用 dirver.get() 獲取網(wǎng)頁時會自動打開一個網(wǎng)頁,但是有時候我們可能不需要通過打開瀏覽器獲取數(shù)據(jù),于是就可以通過給driver對象設(shè)置無頭模式 。

# 給driver對象設(shè)置無頭模式
op = webdriver.ChromeOptions()
op.add_argument('--headless')
driver = webdriver.Chrome(options=op)

以上就是Python selenium模塊的安裝和配置教程的詳細內(nèi)容,更多關(guān)于Python selenium模塊的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 淺談用VSCode寫python的正確姿勢

    淺談用VSCode寫python的正確姿勢

    本篇文章主要介紹了淺談用VSCode寫python的正確姿勢,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • Python實現(xiàn)打印實心和空心菱形

    Python實現(xiàn)打印實心和空心菱形

    今天小編就為大家分享一篇Python實現(xiàn)打印實心和空心菱形,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • python+selenium實現(xiàn)登錄賬戶后自動點擊的示例

    python+selenium實現(xiàn)登錄賬戶后自動點擊的示例

    本篇文章主要介紹了python+selenium實現(xiàn)登錄賬戶后自動點擊的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • 在IPython中執(zhí)行Python程序文件的示例

    在IPython中執(zhí)行Python程序文件的示例

    今天小編就為大家分享一篇在IPython中執(zhí)行Python程序文件的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • python寫入Excel表格的方法詳解

    python寫入Excel表格的方法詳解

    這篇文章主要為大家詳細介紹了python寫入Excel表格的方法,使用jupyter?notebook,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • 利用python3篩選excel中特定的行(行值滿足某個條件/行值屬于某個集合)

    利用python3篩選excel中特定的行(行值滿足某個條件/行值屬于某個集合)

    這篇文章主要給大家介紹了關(guān)于利用python3篩選excel中特定的行(行值滿足某個條件/行值屬于某個集合)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Python使用正則表達式分割字符串的實現(xiàn)方法

    Python使用正則表達式分割字符串的實現(xiàn)方法

    今天小編就為大家分享一篇Python使用正則表達式分割字符串的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • 用python實現(xiàn)一幅春聯(lián)實例代碼

    用python實現(xiàn)一幅春聯(lián)實例代碼

    大家好,本篇文章主要講的是用python實現(xiàn)一幅春聯(lián)實例代碼,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • 深入解析Python中函數(shù)的參數(shù)與作用域

    深入解析Python中函數(shù)的參數(shù)與作用域

    這篇文章主要介紹了Python中函數(shù)的參數(shù)與作用域,是Python入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2016-03-03
  • pyqt5與matplotlib的完美結(jié)合實例

    pyqt5與matplotlib的完美結(jié)合實例

    今天小編就為大家分享一篇pyqt5與matplotlib的完美結(jié)合實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06

最新評論