操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    前提

    除了在網(wǎng)頁中使用接口外,還有的網(wǎng)站會在頁面中使用大量的 函數(shù)進行頁面的各種交互和數(shù)據(jù)生成。這樣的網(wǎng)站或者數(shù)據(jù),我們在瀏覽器控制的“”選項卡中是找不到相關(guān)的接口的。那么該怎么辦呢?

    我們可以使用一個 Web 的自動化測試工具—— 來調(diào)用真實的瀏覽器內(nèi)核來進行數(shù)據(jù)采集。

    是一個瀏覽器自動化測試框架,其能夠調(diào)用相關(guān)的接口來運行瀏覽器并執(zhí)行一系列的動作,就像是真正的用戶在網(wǎng)頁上操作一樣。 最初多用于 Web 應(yīng)用的功能測試中,后來因為其能夠調(diào)用瀏覽器的特性,能夠繞過很多的反爬蟲機制,日益在爬蟲領(lǐng)域流行開來。

    一個完整的 由兩部分組成:

    其中,負責(zé)接收程序的指令和操作js如何判斷瀏覽器是否是ie, 負責(zé)具體的瀏覽器動作的執(zhí)行。

    安裝

    pip install selenium
    

    下載安裝

    在 中,我們通常有四種瀏覽器驅(qū)動方案:

    查看谷歌版本

    鏡像地址:

    找到對應(yīng)版本后下載對應(yīng)版本的。

    win下載這個

    下載后,壓縮包內(nèi)系統(tǒng)下為exe文件,下為elf文件,將壓縮包內(nèi)的可執(zhí)行文件放在你自己知道的一個任意目錄下。

    這樣我們的就已經(jīng)下載完成了,在中使用API指定相關(guān)路徑,就可以進行自動化測試了。

    引入 和實例化一個瀏覽器引擎

    # coding:utf-8
    from selenium import webdriver
    # 引入 selenium  和實例化一個瀏覽器引擎
    driver = webdriver.Chrome(executable_path=r"E:\wwwroot\python\PyTest\test\chromedriver.exe")
    

    js 判斷ie_js如何判斷瀏覽器是否是ie_html 判斷是否ie

    打開一個網(wǎng)頁

    driver.get('http://www.baidu.com')
    

    元素定位

    在 + 的模式中,我們一般使用 css 選擇器和 find()方法來進行元素的地位

    和解析,而在 中,我們有七種方式對元素進行定位:

    獲取元素值

    在定位到元素之后,我們需要獲取相應(yīng)元素的文本值或者是屬性值。在 中可以使用 text

    屬性獲取元素的文本值,使用 ()方法獲取元素的屬性值。

    保存頁面代碼供

    除了直接使用 定位元素的方法和獲取值的方法外,我們可以將 打開后的網(wǎng)頁

    保存為源碼,再將其傳輸給 用于元素定位和文本解析。

    中將網(wǎng)頁保存為源碼的方法為 :

    wbdata = driver.page_source
    

    示例:

    # coding:utf-8
    from selenium import webdriver
    from bs4 import BeautifulSoup
    driver = webdriver.Chrome(executable_path=r"E:\wwwroot\python\PyTest\test\chromedriver.exe")
    driver.get('http://www.toutiao.com')
    wbdata = driver.page_source
    soup = BeautifulSoup(wbdata,'lxml')
    img_news = soup.select('div.bui-box > div.bui-left > div.bui-box > ul.slide-list.bui-
    left > li > a')
    for i in img_news:
    

    js如何判斷瀏覽器是否是ie_html 判斷是否ie_js 判斷ie

    print(i.get_text())

    表單輸入與點擊事件

    一些網(wǎng)頁,我們需要輸入表單之后才能獲取結(jié)果。在 中,我們可以先定位到表單元素,

    然后使用 ()方法,在表單中輸入文本,然后使用 click()方法或者 ()方法進行提

    交。

    下面我們以百度搜索為例,使用 輸入關(guān)鍵詞“臭大佬”并進行搜索:

    # coding:utf-8
    from selenium import webdriver
    import time
    # 引入 selenium  和實例化一個瀏覽器引擎
    driver = webdriver.Chrome(executable_path=r"E:\wwwroot\python\PyTest\test\chromedriver.exe")
    # 打開首頁
    driver.get('http://www.baidu.com')
    # 定位搜索框
    inputs = driver.find_element_by_id('kw')
    # 在搜索框中輸入文本
    inputs.send_keys('臭大佬')
    # 定位"百度一下"搜索按鈕
    search = driver.find_element_by_id('su')
    # 點擊搜索按鈕
    search.click()
    # 等待 5 秒
    time.sleep(5)
    

    html 判斷是否ie_js 判斷ie_js如何判斷瀏覽器是否是ie

    # 進行屏幕截屏 driver.save_screenshot('search_choudalao.jpg')

    切換框架() 和窗口

    在 html 中, 標簽用來創(chuàng)建一個包含在網(wǎng)頁文檔中的另一個文檔框架,在 中可以自

    定義 html 的頁面、樣式和內(nèi)容。

    默認情況下js如何判斷瀏覽器是否是ie, 打開和操作的都是最外層的框架,如果我們需要提取的內(nèi)容或是需要輸入

    的表單以及點擊的按鈕存在于子框架()中,我們就需要先切換定位在子框架上。

    另一個情況就是,某些鏈接點擊之后會新建一個窗口,新的內(nèi)容出現(xiàn)在新的窗口上,這時候我們

    也需要將窗口切換到新的窗口中。

    在 中,我們可以使用 來對框架和窗口進行切換:

    執(zhí)行 js 代碼

    在某些特殊情況下,我們的點擊按鈕或是其他瀏覽器行為使用 的內(nèi)置方法操作不了(比

    如 引擎不支持非 元素的點擊事件),那么可以執(zhí)行 JS 代碼來對瀏覽器進行

    操作。

    在 中執(zhí)行 js 代碼的方法為:()

    driver.execute_script(js 代碼)
    

    在linux中安裝使用中

    如果是寶塔環(huán)境,默認是的,運行如下命令,安裝獨立版,這種情況下,后面的所有和pip命令都要變成和pip3

    curl https://download.bt.cn/install/update_panel.sh|bash
    

    python3 -V
    

    js 判斷ie_html 判斷是否ie_js如何判斷瀏覽器是否是ie

    pip3 install selenium
    

    下載谷歌瀏覽器

    yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
    

    這個命令是下載安裝最新的穩(wěn)定的版本,不是固定的版本,所以要注意下載時要對應(yīng)版本

    我是在本地win10系統(tǒng)又下了一遍,由于無法解壓,為此我還特意下載了個360解壓,解壓可以看到版本是95.0.4638.69

    安裝依賴庫

    yum install pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 libXdamage.x86_64 libXext.x86_64 libXi.x86_64 libXtst.x86_64 cups-libs.x86_64 libXScrnSaver.x86_64 libXrandr.x86_64 GConf2.x86_64 alsa-lib.x86_64 atk.x86_64 gtk3.x86_64 -y
    

    安裝(驅(qū)動程序)

    打開鏈接: , 我剛才版本是95.0.4638.69,找到自己對應(yīng)的版本.

    進入到目錄中,下載linux版本,

    wget http://chromedriver.storage.googleapis.com/95.0.4638.69/chromedriver_linux64.zip
    

    解壓

    unzip chromedriver_linux64.zip
    

    給予運行權(quán)限

    chmod +x chromedriver
    

    html 判斷是否ie_js 判斷ie_js如何判斷瀏覽器是否是ie

    放到環(huán)境變量PATH路徑中

    cp chromedriver /usr/bin/
    

    查看的版本

    chromedriver --version
    

    測試

    進行腳本測試(1.py)

    #coding:utf-8
    from selenium import webdriver
    ch_options = webdriver.ChromeOptions()
    # 為Chrome配置無頭模式
    ch_options.add_argument("--headless")  
    ch_options.add_argument('--no-sandbox')
    ch_options.add_argument('--disable-gpu')
    ch_options.add_argument('--disable-dev-shm-usage')
    # 在啟動瀏覽器時加入配置
    dr = webdriver.Chrome(options=ch_options)
    # 這是測試網(wǎng)站
    url = "https://www.baidu.com"
    dr.get(url)
    # 打印源碼
    print(dr.page_source)
    

    能打印頁面說明就成功了

網(wǎng)站首頁   |    關(guān)于我們   |    公司新聞   |    產(chǎn)品方案   |    用戶案例   |    售后服務(wù)   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區(qū)    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權(quán)所有