最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實(shí)現(xiàn)自動(dòng)化網(wǎng)頁操作步驟

 更新時(shí)間:2023年06月05日 11:45:33   作者:安樂常  
這篇文章主要介紹Python如何實(shí)現(xiàn)自動(dòng)化網(wǎng)頁操作,文中有詳細(xì)的流程步驟和代碼示例,對(duì)我們的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下

1 準(zhǔn)備

推薦使用Chrome瀏覽器

1.1 安裝selenium程序包

激活虛擬環(huán)境,打開新的Terminal,輸入以下代碼:

python -m pip install selenium

如下圖所示,表示安裝成功,版本為4.7.2

關(guān)閉虛擬環(huán)境,打開新的Terminal

1.2 引入函數(shù)模塊

#引入time模塊,實(shí)現(xiàn)延時(shí)
import time
#引入selenium庫中的webdriver模塊,實(shí)現(xiàn)對(duì)網(wǎng)頁的操作
from selenium import webdriver
#引入By Class,輔助元素定位
from selenium.webdriver.common.by import By
#引入ActionChains Class,輔助鼠標(biāo)移動(dòng)
from selenium.webdriver.common.action_chains import ActionChains

2 實(shí)現(xiàn)

2.1 打開網(wǎng)頁

#打開谷歌瀏覽器
driver = webdriver.Chrome() 
#打開網(wǎng)頁
driver.get('URL') #將URL替換為需要操作的網(wǎng)址

2.2 元素定位

要想實(shí)現(xiàn)對(duì)網(wǎng)頁的控制,需要首先定位網(wǎng)頁上的元素,一般為搜索框、選項(xiàng)、按鈕等。

selenium 4.0以上的版本更新了元素定位方式,要用到find_element函數(shù),用法舉例如下:

el = driver.find_element(By.NAME, "*")

首先要獲取元素的信息:
打開網(wǎng)頁后,按F12,打開元素審查窗口

點(diǎn)擊窗口中紅框標(biāo)出的圖標(biāo),即可在頁面上選擇需要定位的元素,查看其代碼。
一般需要定位的元素代碼都以input開頭,下圖為搜索框的代碼,從代碼中可以提取定位元素所需要的信息:

根據(jù)下列信息均可以定位元素,但要保證根據(jù)該信息可以唯一定位到該元素:

By.*
NAMEname=“*”
CLASS_NAMEclass_name=“*”
IDid=“*”
TAG_NAMEtag_name=“*”
LINK_TEXT
PARTIAL_LINK_TEXT
CSS_SELECTOR
XPATHCopy full XPath

如果根據(jù)其他信息無法唯一定位該元素,可以采取XPath定位,XPath的獲取方式比較特殊,需要右鍵單擊該代碼行,在下拉列表中選擇Copy full XPath,如下圖所示:

2.3 元素控制

定位到元素后,可以進(jìn)行下列操作,實(shí)現(xiàn)對(duì)元素的控制:

method功能
click()點(diǎn)擊
send_keys(‘*’)輸入
clear()清空

以輸入文字為例,代碼如下(*為需要輸入的文字):

el.send_keys('*')

如果打開網(wǎng)頁時(shí),需要控制的元素不在可視范圍內(nèi),需要滑動(dòng)鼠標(biāo)定位,則要借助于ActionChains,否則可能會(huì)報(bào)錯(cuò):找不到該元素。

ActionChains(driver).move_to_element(el).click().perform()
el.click()

上述示例為點(diǎn)擊操作,其中第二行最好加上,確保點(diǎn)到該元素
另外一種找不到元素的原因可能是網(wǎng)頁還沒有加載完畢,此時(shí)就可以借助于延時(shí)功能:

time.sleep(1)

2.4 彈出框的處理

如果點(diǎn)擊按鈕后,不是打開一個(gè)新的頁面,而是彈出了一個(gè)窗口,需要在新的窗口中操作,則需要通過如下代碼轉(zhuǎn)到新的frame下,否則可能會(huì)報(bào)錯(cuò):找不到該元素。

driver.switch_to.frame(0)

隨后繼續(xù)按2.2定位元素即可。

到此這篇關(guān)于Python實(shí)現(xiàn)自動(dòng)化網(wǎng)頁操作步驟的文章就介紹到這了,更多相關(guān)Python 自動(dòng)化網(wǎng)頁操作內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python 讀取二進(jìn)制 顯示圖片案例

    python 讀取二進(jìn)制 顯示圖片案例

    這篇文章主要介紹了python 讀取二進(jìn)制 顯示圖片案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Django app配置多個(gè)數(shù)據(jù)庫代碼實(shí)例

    Django app配置多個(gè)數(shù)據(jù)庫代碼實(shí)例

    這篇文章主要介紹了Django app配置多個(gè)數(shù)據(jù)庫代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • pycharm快捷鍵自動(dòng)提示documentation問題(auto?Ctrl+Q)

    pycharm快捷鍵自動(dòng)提示documentation問題(auto?Ctrl+Q)

    這篇文章主要介紹了pycharm快捷鍵自動(dòng)提示documentation問題(auto?Ctrl+Q),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • es+flask搜索小項(xiàng)目實(shí)現(xiàn)分頁+高亮的示例代碼

    es+flask搜索小項(xiàng)目實(shí)現(xiàn)分頁+高亮的示例代碼

    本文主要介紹了es+flask搜索小項(xiàng)目實(shí)現(xiàn)分頁+高亮的示例代碼,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 詳解python tkinter教程-事件綁定

    詳解python tkinter教程-事件綁定

    這篇文章主要介紹了python tkinter事件綁定,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Jupyter notebook如何實(shí)現(xiàn)指定瀏覽器打開

    Jupyter notebook如何實(shí)現(xiàn)指定瀏覽器打開

    這篇文章主要介紹了Jupyter notebook如何實(shí)現(xiàn)指定瀏覽器打開,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • python實(shí)現(xiàn)一個(gè)簡單RPC框架的示例

    python實(shí)現(xiàn)一個(gè)簡單RPC框架的示例

    本文將會(huì)使用Python實(shí)現(xiàn)一個(gè)最簡單的RPC框架,不具有實(shí)用意義,但可以讓你清醒地理解RPC框架的幾個(gè)組成部分,只是比看Python自帶的xmlrpc清晰。
    2020-10-10
  • 詳解Python中使用base64模塊來處理base64編碼的方法

    詳解Python中使用base64模塊來處理base64編碼的方法

    8bit的bytecode經(jīng)常會(huì)被用base64編碼格式保存,Python中自帶base64模塊對(duì)base64提供支持,這里我們就來詳解Python中使用base64模塊來處理base64編碼的方法,需要的朋友可以參考下
    2016-07-07
  • Python使用DrissionPage中ChromiumPage進(jìn)行自動(dòng)化網(wǎng)頁操作

    Python使用DrissionPage中ChromiumPage進(jìn)行自動(dòng)化網(wǎng)頁操作

    DrissionPage 作為一款輕量級(jí)且功能強(qiáng)大的瀏覽器自動(dòng)化庫,為開發(fā)者提供了豐富的功能支持,本文將使用DrissionPage中ChromiumPage進(jìn)行自動(dòng)化網(wǎng)頁操作,希望對(duì)大家有所幫助
    2025-03-03
  • Python腳本處理空格的方法

    Python腳本處理空格的方法

    這篇文章主要介紹了Python腳本處理空格的方法,解決方案非常簡單,但是好多朋友都不知道,下面小編把解決方案分享到腳本之家平臺(tái),供大家參考
    2016-08-08

最新評(píng)論

沙洋县| 黑龙江省| 安泽县| 融水| 陇西县| 宝清县| 敖汉旗| 墨竹工卡县| 景东| 随州市| 新竹县| 富宁县| 天长市| 荔波县| 仁化县| 出国| 武乡县| 乃东县| 成武县| 富平县| 临漳县| 名山县| 连江县| 开封市| 冷水江市| 襄城县| 马边| 紫阳县| 仁寿县| 南平市| 阿鲁科尔沁旗| 新余市| 乃东县| 衡山县| 吴忠市| 大冶市| 都江堰市| 大理市| 修武县| 葫芦岛市| 滁州市|