国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Python小技巧】Python操控Chrome瀏覽器實現(xiàn)網(wǎng)頁打開、切換、關(guān)閉(送獨家Chrome操作打包類源碼、Chrome瀏覽器Cookie在哪里?)

這篇具有很好參考價值的文章主要介紹了【Python小技巧】Python操控Chrome瀏覽器實現(xiàn)網(wǎng)頁打開、切換、關(guān)閉(送獨家Chrome操作打包類源碼、Chrome瀏覽器Cookie在哪里?)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


前言

本文將為您展示如何通過Python控制瀏覽器實現(xiàn)網(wǎng)頁的打開、頁面的切換和關(guān)閉的基本操作,另外對于高階用戶,知道Chrome瀏覽器Cookie在哪里?可以方便方位Cookie從而實現(xiàn)帶登錄的更多操作。當(dāng)然,利用本文方法,你也可以提前登錄好,這樣就可以直接操作,而免去繁瑣的登錄環(huán)節(jié)。按步驟操作,小白也可以實現(xiàn)功能哦!

一、什么時候需要用Python控制瀏覽器?

有些時候,我們需要操作瀏覽器完成訪問,比如通過網(wǎng)頁操作同花順模擬炒股,又比如做一些網(wǎng)頁端的測試等??傊?,每次都要點擊很多次鼠標(biāo),太麻煩了。那么有沒有一種可以方法可以通過程序控制操作呢。當(dāng)然,有些人已經(jīng)想到了模擬鍵盤鼠標(biāo)的鍵盤精靈類軟件。這些當(dāng)然可以。但我們今天要講一種更為直接的辦法。

二、下載Chrome瀏覽器驅(qū)動文件

1. 安裝Chrome瀏覽器并查看版本

檢查自己的Chrome瀏覽器版本,后面下載驅(qū)動要看這個,否則不匹配也用不了。
python控制谷歌瀏覽器,Python經(jīng)驗池,chrome,python,前端

2. 下載瀏覽器驅(qū)動文件

然后到下面的網(wǎng)頁里去找對應(yīng)的版本(主要的版本號對應(yīng)上即可)
https://registry.npmmirror.com/binary.html?path=chromedriver/
python控制谷歌瀏覽器,Python經(jīng)驗池,chrome,python,前端
根據(jù)操作系統(tǒng)選擇需要下載的文件,Windows系統(tǒng)下載這個文件即可。
python控制谷歌瀏覽器,Python經(jīng)驗池,chrome,python,前端

3. 解壓到python編譯器目錄(python.exe所在目錄)

將解壓出來的chromedriver.exe放到python編譯器目錄。如果使用Python虛擬環(huán)境,一樣放到虛擬環(huán)境目錄下。

三、Python控制Chrome瀏覽器(附源代碼)

1. 操作分兩步

(1)在CMD命令提示符中輸入(具體路徑看你的瀏覽器安裝位置):

cd C:\Program Files\Google\Chrome\Application\
chrome.exe --remote-debugging-port=9200 --user-data-dir="D:\tempfiles"

(2)在python中輸入,后面的端口號和前面的要保持一致,多個瀏覽器,就自己匹配好就行:

option.add_experimental_option("debuggerAddress", "127.0.0.1:9200")

通過以上2個步驟的配合,即可實現(xiàn)使用selenium對當(dāng)前打開的chrome界面進行接管。

2. Python控制Chrome瀏覽器完整源代碼

這里使用selenium 來控制瀏覽器,為方便操作,將其打包成類。并且使用模糊搜索,可通過窗口titile操作頁面。個人獨創(chuàng),這里加雞腿?。?/p>

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options
import time,os
import datetime


def fuzzy_find(x,_dict):
    # 對x通過鍵名模糊查找后返回鍵名,鍵值
    for key,value in _dict.items(): 
        if x in key:
            return key,value
    return x,None

# 定義一個字典,設(shè)置網(wǎng)頁標(biāo)題和url,后面操作會使用到    
url_dict = {
            '通達信問小達':'https://wenda.tdx.com.cn/site/wenda/index.html',
            '雪球':'https://xueqiu.com/',
            '百度':'http://www.baidu.com',
            }

class Chrome_browser():

    def __init__(self):
        print('start Chrome_browser')
        options = Options()
        options.add_experimental_option("debuggerAddress", "127.0.0.1:9200")
        self.browser = webdriver.Chrome(options=options)
        self.browser.implicitly_wait(8)  # 設(shè)置隱式時間等待
        self._max()
        
    def _max(self):
        self.browser.maximize_window()  # 最大化瀏覽器

    def _get_tab_dict(self):
        tab_dict = {}
        handles = self.browser.window_handles
        for handle in handles:  # 切換窗口
            # print ('switch to second window', handle)
            # self.browser.close() # 關(guān)閉第一個窗口
            self.browser.switch_to.window(handle)  # 切換到第二個窗口
            # print(self.browser.title)
            title = self.browser.title.replace(u'\xa0', '').split('-')[0] # 剔除標(biāo)題中的'-'字符
            tab_dict[title] = handle
        return tab_dict

    def open_tab(self,url_dict=url_dict):
        for k,v in url_dict.items():
            print('進入'+k,datetime.datetime.now())
            self.browser.switch_to.new_window('tab')
            self.browser.get(v)
            self.browser.refresh()
            time.sleep(2)
            
    def _switch(self, name='', act=''):
        # 包含同時關(guān)閉的功能
        tab_dict = self._get_tab_dict()
        print('tab_dict',tab_dict)
        if name != '':
            key,value = fuzzy_find(name,tab_dict)
            # print('key,value',key,value)
            if value != None:
                self.browser.switch_to.window(value)
                if act == 'close':
                    self.browser.close()
                    return False
                return True
        else:
            return False

    def _close(self):
        # 關(guān)閉所有窗口,關(guān)閉單個由switch完成。
        tab_dict = self._get_tab_dict()
        for k,v in tab_dict.items():  # 切換窗口
            self.browser.switch_to.window(v)
            self.browser.close()

if __name__=='__main__':

    cb = Chrome_browser()
    cb.open_tab()
    cb._switch(name='通達信',act='') # 切換到title為name的窗口,act='close'則切換完同時關(guān)閉。
    cb._close() # 關(guān)閉所有窗口,關(guān)閉單個由switch完成。

四、Chrome瀏覽器Cookie在哪里?(避坑指南)

以上操作,可以提前登錄好,并保存密碼,即可實現(xiàn)自動登錄。

但如果需要讀取Cookie完成更多高級操作,請注意以下路徑。網(wǎng)上之前的文章很多,但好些拿來不能用,關(guān)鍵是Cookie文件路徑變了:
96版本以前:./AppData\Local\Google\Chrome\User Data\default\Cookies
96版本之后:./AppData/Local/Google/Chrome/User Data/Default/Network/Cookies

完整路徑如(Administrator替換為自己的用戶名):
C:\Users\Administrator\AppData\Local\Google\Chrome\User Data\Default\Network\Cookies

另外,注意Chrome會自動更新,請及時更新對應(yīng)驅(qū)動文件。


總結(jié)

關(guān)于Python控制瀏覽器完成各種操作的教程,網(wǎng)上可以說很多,筆者也是各種學(xué)習(xí),但經(jīng)過測試使用還是對小白不友好。各種填坑在所難免。為了方便操作,避免踩坑,著此文以方便各位。

各種測試,一個周末又報廢了,寫作不易,有幫助的話,留個言,也提高以下活躍度。文章來源地址http://www.zghlxwxcb.cn/news/detail-594512.html

到了這里,關(guān)于【Python小技巧】Python操控Chrome瀏覽器實現(xiàn)網(wǎng)頁打開、切換、關(guān)閉(送獨家Chrome操作打包類源碼、Chrome瀏覽器Cookie在哪里?)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Macbook無法上網(wǎng)或只能登陸微信無法使用網(wǎng)頁的解決方法(Chrome瀏覽器)

    Macbook無法上網(wǎng)或只能登陸微信無法使用網(wǎng)頁的解決方法(Chrome瀏覽器)

    本人長期使用VPN,偶然一次停電后導(dǎo)致網(wǎng)絡(luò)配置出現(xiàn)問題。 最開始是校園網(wǎng)和熱點都無法登陸,后續(xù)是校園網(wǎng)無法登陸。提示客戶端和服務(wù)器不支持常用的ssl協(xié)議,或者提示1.1.1.1使用了不受支持的協(xié)議或是提示DNS不安全之類的。 1.使用114.114.114.114 或8.8.8.8DNS 2.刪除wifi再添加

    2024年02月16日
    瀏覽(175)
  • Mac無法上網(wǎng)或只能登陸微信無法使用網(wǎng)頁的解決方法(Chrome瀏覽器)

    Mac無法上網(wǎng)或只能登陸微信無法使用網(wǎng)頁的解決方法(Chrome瀏覽器)

    本人長期使用VPN,偶然一次停電后導(dǎo)致網(wǎng)絡(luò)配置出現(xiàn)問題。 最開始是校園網(wǎng)和熱點都無法登陸,后續(xù)是校園網(wǎng)無法登陸。提示客戶端和服務(wù)器不支持常用的ssl協(xié)議,或者提示1.1.1.1使用了不受支持的協(xié)議或是提示DNS不安全之類的。 1.使用114.114.114.114 或8.8.8.8DNS 2.刪除wifi再添加

    2024年02月14日
    瀏覽(26)
  • 【AI選股】如何通過python調(diào)用通達信-小達實現(xiàn)AI選股(量化又多了一個選股工具,原文Chrome瀏覽器請改為Edge瀏覽器)

    【AI選股】如何通過python調(diào)用通達信-小達實現(xiàn)AI選股(量化又多了一個選股工具,原文Chrome瀏覽器請改為Edge瀏覽器)

    ChatGPT火遍網(wǎng)絡(luò),那么有沒有可以不用寫公式就可以實現(xiàn)AI選股的方法?答案是有,今天我們就來試試通達信的小達,讓小達按我們的要求去進行選股。 使用Chrome瀏覽器報錯的請改為Edge瀏覽器,或者Firefox瀏覽器,參考如下文章: 【Python小技巧】browser_cookie3訪問Chrome瀏覽器Co

    2024年02月11日
    瀏覽(18)
  • Python selenium自動化操作Chrome瀏覽器

    Python selenium自動化操作Chrome瀏覽器

    ? ? 活動地址:CSDN21天學(xué)習(xí)挑戰(zhàn)賽 Selenium是一個用于Web應(yīng)用程序測試的工具。Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。支持目前比較主流的瀏覽器。它也實現(xiàn)了諸多自動化功能,比如軟件自動化測試,檢測軟件與瀏覽器兼容性,自動錄制、生成不同語言

    2024年02月02日
    瀏覽(94)
  • Python + Playwright 無頭瀏覽器Chrome找不到元素

    用Python + Playwright調(diào)試時,發(fā)現(xiàn)不用無頭瀏覽器(即 headless=False )代碼能夠運行成功,但是一用無頭瀏覽器時(即 headless=True )就會報錯,提示找不到元素。換成Firefox瀏覽器又不會有這個問題,有可能是因為網(wǎng)站有一個前段反爬蟲手段。(同理,如果大家使用 playwright codege

    2024年02月16日
    瀏覽(20)
  • Python Headless Chrome(無頭谷歌瀏覽器)

    Python Headless Chrome(無頭谷歌瀏覽器)

    在我們使用Selenium驅(qū)動ChromeDriver時,可以彈出谷歌瀏覽器,模擬人為操作谷歌瀏覽器,這就是自動化測試。雖然很厲害,但是也有一個很現(xiàn)實的問題,因為是要真實加載完整網(wǎng)頁,導(dǎo)致效率低。在自動化測試時,我們其實只需要知道是測試完成還是未完成,至于能否看到完整

    2024年02月05日
    瀏覽(20)
  • selenium 使用已打開的chrome瀏覽器(python版)

    使用selenium?的 webdriver?調(diào)試的時候,每次都是打開一個新的?chrome瀏覽器實例,特別不方便,那怎么使用上次打開的chrome瀏覽器實例呢,以下是完整代碼,親測可用 python版本:3.10 系統(tǒng):win11 步驟1,先寫一個打開?chrome瀏覽器?的文件1,里面指定這個chrome瀏覽器實例的端口號

    2024年02月14日
    瀏覽(94)
  • Chrome瀏覽器如何實現(xiàn)多開操作?(Mac系統(tǒng)為例)

    Chrome瀏覽器如何實現(xiàn)多開操作?(Mac系統(tǒng)為例)

    一切不以解決問題為目的的小技巧都是耍流氓。 在測試過程中,有時間需要驗證多個賬戶登陸的情況,大部分情況下都需要一臺電腦上打開多個瀏覽器,但是如果想都使用Chrome瀏覽器怎么辦呢? 大部分的伙伴都是打開一個隱私窗口,但是隱私窗口很多功能是無法使用的,比

    2024年02月04日
    瀏覽(94)
  • chrome和edge瀏覽器,實現(xiàn)視頻不靜音自動播放

    chrome和edge瀏覽器,實現(xiàn)視頻不靜音自動播放

    chrome a.先打開網(wǎng)站的設(shè)置 b.找到聲音設(shè)置,將 自動(默認)修改為 允許,然后刷新原網(wǎng)頁即可。 microsoft edeg a.和chorme一樣的操作,先打開設(shè)置。 b.選擇cookie和網(wǎng)站權(quán)限,找到媒體自動播放設(shè)置后進入。 c.設(shè)置為允許即可。當(dāng)然如果你只想要某些網(wǎng)站允許自動播放,可以在下

    2024年02月12日
    瀏覽(34)
  • python通過selenium爬取網(wǎng)頁信息,python獲取瀏覽器請求內(nèi)容,控制已經(jīng)打開的瀏覽器

    python通過selenium爬取網(wǎng)頁信息,python獲取瀏覽器請求內(nèi)容,控制已經(jīng)打開的瀏覽器

    背景:通過python中直接get或者urlopen打開一些有延遲加載數(shù)據(jù)的網(wǎng)頁,會抓取不到部分信息。 1. 命令行打開chrome,并開啟調(diào)試端口 (前提,找到chrome安裝目錄,找到chrome.exe所在路徑,添加到環(huán)境變量中,例如我的是C:Program FilesGoogleChromeApplication) remote-debugging-port指定遠程調(diào)試

    2024年02月16日
    瀏覽(97)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包