中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

網(wǎng)站首頁改版模板網(wǎng)站好還是自助建站好

網(wǎng)站首頁改版,模板網(wǎng)站好還是自助建站好,上海網(wǎng)站設(shè)計建設(shè)公,成全視頻觀看免費觀看三、Selenium 1.初識Selenium 1.1什么是Selenium? Selenium是一個瀏覽器自動化測試框架,是一款用于Web應(yīng)用程序測試的工具??蚣艿讓邮褂肑avaScript模擬真實用戶對瀏覽器進(jìn)行操作。測試腳本執(zhí)行時,瀏覽器自動按照腳本代碼做出點擊&#xf…

三、Selenium

1.初識Selenium

1.1什么是Selenium?

Selenium是一個瀏覽器自動化測試框架,是一款用于Web應(yīng)用程序測試的工具。框架底層使用JavaScript模擬真實用戶對瀏覽器進(jìn)行操作。測試腳本執(zhí)行時,瀏覽器自動按照腳本代碼做出點擊,輸入,打開,驗證等操作,就像真實用戶所做的一樣,從終端用戶的角度測試應(yīng)用程序。使瀏覽器兼容性測試自動化成為可能,盡管在不同的瀏覽器上依然有細(xì)微的差別。使用簡單,可使用Java,Python等多種語言編寫用例腳本。

1.2 Selenium的準(zhǔn)備

以Chrome為例:

首先在pycharm中安裝selenium軟件包,版本不要太高,不然會閃退,測試是3.5版本。(補:后續(xù)更新到selenium3.10運行無影響)

然后http://chromedriver.storage.googleapis.com/index.html網(wǎng)站中找到對應(yīng)版本的chromedriver下載win32就可以了,解壓之后復(fù)制粘貼到項目文件夾的一級目錄下。

在這里插入圖片描述

準(zhǔn)備工作完成。

2. Selenium的使用

2.1為什么要使用Selenium

先看下面一段代碼

import urllib.requesturl = 'https://www.jd.com'response = urllib.requst.urlopen(url)content = response.read().decode('utf-8')print(content)

在控制臺搜索J_seckill(京東秒殺模塊的id),無匹配字段,原因是:模擬瀏覽器獲取不了京東秒殺的內(nèi)容,因為網(wǎng)站檢測到了是模擬瀏覽器,所以需要用selenium。

2.2 Selenium的基本使用

selenium的使用會調(diào)用chrome,所以當(dāng)彈出頁面后需要在設(shè)置中將默認(rèn)搜索引擎改成百度。

獲取京東網(wǎng)站中的京東秒殺源碼

# 導(dǎo)入selenium
from selenium import webdriver# 創(chuàng)建瀏覽器對象
path = 'chromedriver.exe'
browser = webdriver.Chrome(path)# 訪問網(wǎng)站
url = 'https://www.jd.com'browser.get(url)# page_source獲取網(wǎng)頁源碼
content = browser.page_source
print(content)

在控制臺搜索J_seckill可以看到京東秒殺模塊。

2.3 Selenium的元素定位

from selenium import webdriverurl = 'https://www.jd.com'path = 'chromedriver.exe'
browser = webdriver.Chrome(path)# 元素定位
# 根據(jù)id找到對象
id = browser.find_element_by_id('su')
print(id)
# 根據(jù)標(biāo)簽屬性的屬性值
name = browser.find_element_by_name('wd')
print(name)
# 根據(jù)xpath語句來獲取對象
xpath = browser.find_element_by_xpath('//input[@id="su"]')
print(xpath)
# 根據(jù)標(biāo)簽的名字獲取對象
button = browser.find_element_by_tag_name('input')
print(button)
# 使用bs4的語法獲取對象
bs = browser.find_element_by_css_selector('#su')
print(bs)
# a標(biāo)簽
text = browser.find_element_by_link_text('新聞')
print(text)

2.4 Selenium獲取元素信息

以百度首頁為例

from selenium import webdriverpath = 'chromedriver.exe'
browser = webdriver.Chrome(path)url = 'http://www.baidu.com'
browser.get(url)	# 訪問網(wǎng)站# 根據(jù)id內(nèi)容獲取標(biāo)簽對象
input = browser.find_element_by_id('su')	# 獲取標(biāo)簽的屬性
print(input.get_attribute('class'))# 獲取標(biāo)簽的名字
print(input.tag_name)# 獲取元素文本
a = browser.find_element_by_link_text('新聞')
print(a.text)

2.5 Selenium的交互

模擬點擊行為,進(jìn)而操作瀏覽器

from selenium import webdriver# 創(chuàng)建瀏覽器對象
path = 'chromedriver.exe'
browser = webdriver.Chrome(path)# url
url = 'https://www.baidu.com'
browser.get(url)import time
# 睡眠兩秒	防止操作過快被檢測出來時爬蟲,被封ip
time.sleep(2)# 獲取文本框的對象
input = browser.find_element_by_id('kw')# 在文本框中輸入周杰倫
input.send_keys('周杰倫')time.sleep(2)# 獲取百度一下的按鈕
button = browser.find_element_by_id('su')# 點擊按鈕
button.click()time.sleep(2)# 滑到底部
js_bottom = 'document.documentElement.scrollTop=100000'
browser.execute_script(js.bottom)time.sleep(2)# 獲取下一頁的按鈕
next = browser.find_element_by_xpath('//a[@class="n"]')# 點擊下一頁
next.click()time.sleep(2)# 回到上一頁
browser.back()time.sleep(2)# 再回去
browser.forward()time.sleep(3)browser.quit()

Phantomjs

1.初識Phantomjs

1.1什么是Phantomjs

Phantomjs是一個無界面瀏覽器,支持頁面元素查找,js的執(zhí)行等,由于不進(jìn)行css和gui渲染,運行效率比真實的瀏覽器快的多。

1.2如何使用Phantomjs

和使用Chrome類似,

即獲取PhantomJs.exe的文件路徑,

browser = webdriver.PhantomJs(path)

browser.get(url)

可以使用屏幕快照進(jìn)行驗證瀏覽器是否正常運行。

2. Phantomjs的使用

以百度搜索關(guān)鍵詞為例

from selenium import webdriverurl = 'https://www.baidu.com'path = 'phantomjs.exe'browser = webdriver.PhantomJS(path)browser.get(url)browser.save_screenshot('baidu.png')	# 保存快照import time# 獲取百度搜索的搜索文本框
input = browser.find_element_by_id('kw')	
input.send_keys('昆凌')	# 輸入關(guān)鍵字‘昆凌’time.sleep(2) # 睡眠兩秒browser.save_screenshot('kunling.png')

注:(1)phantonmjs因為某些原因已經(jīng)停止更新,所以新版本的selenium不支持phantomjs,這里使用的是selenium3.5.0

所以現(xiàn)在都是使用handless

(2)當(dāng)selenium更新到3.10時,輸出窗口會出現(xiàn)“ UserWarning: Selenium support for PhantomJS has been deprecated, please use headless versions of Chrome or Firefox instead warnings.warn('Selenium support for PhantomJS has been deprecated, please use headless ’ ” 警告,不過不影響運行結(jié)果。

Chrome handless

1.初識Chrome handless

1.1什么是Chrome handless

Chrome-headless 模式, Google 針對 Chrome 瀏覽器 59版 新增加的一種模式,可以讓你不打開UI界面的情況下 使用 Chrome 瀏覽器,所以運行效果與 Chrome 保持完美一致。

1.2使用需求

(1).系統(tǒng)要求:

Chrome

? Unix\Linux 系統(tǒng)需要 chrome >= 59

? Windows 系統(tǒng)需要 chrome >= 60

Python3.6

? Selenium==3.4.*

? ChromeDriver==2.31

(2).配置:

from selenium.webdriver.chrome.options 
import Optionsfrom selenium.webdriver.chrome.options import Options chrome_options = Options() chrome_options.add_argument('‐‐headless') chrome_options.add_argument('‐‐disable‐gpu') path = r'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe' chrome_options.binary_location = path browser = webdriver.Chrome(chrome_options=chrome_options) browser.get('http://www.baidu.com/') 

2. Chrome handless的使用

# 無界面的瀏覽器調(diào)用方法
from selenium import webdriver
from selenium.webdriver.chrome.options import Options# 封裝的handless
def share_browser():chrome_options = Options()chrome_options.add_argument('--headless')chrome_options.add_argument('--disable-gpu')chrome_options.add_argument('--window-size=1920,1080')  # 設(shè)置窗口的大小driver = webdriver.Chrome(options=chrome_options)# path 是Chrome瀏覽器的文件路徑path = r'C:\Program Files\Google\Chrome\Application\chrome.exe'chrome_options.binary_location = pathbrowser = webdriver.Chrome(chrome_options=chrome_options)return browserbrowser = share_browser()url = 'https://www.baidu.com'browser.get(url)browser.save_screenshot('百度.png')

注:未解決的問題:無界面瀏覽器還是出現(xiàn)了界面(現(xiàn)已解決,原因是selenium版本太低,需更新到3.10)

http://www.risenshineclean.com/news/44927.html

相關(guān)文章:

  • 鄭州網(wǎng)站建設(shè)品牌好網(wǎng)站seo推廣招聘
  • 家庭網(wǎng)絡(luò)做網(wǎng)站網(wǎng)絡(luò)優(yōu)化工程師主要負(fù)責(zé)什么工作
  • 河北省網(wǎng)絡(luò)科技網(wǎng)站seo網(wǎng)站頁面優(yōu)化包含
  • 英國有哪些做折扣的網(wǎng)站網(wǎng)絡(luò)推廣整合平臺
  • 阿克蘇網(wǎng)站建設(shè)服務(wù)網(wǎng)站建設(shè)網(wǎng)絡(luò)公司
  • 網(wǎng)校網(wǎng)站建設(shè)方案優(yōu)化設(shè)計方法
  • 微網(wǎng)站自己怎么做seo排名優(yōu)化收費
  • 慶陽網(wǎng)站建設(shè)百度推廣在哪里
  • 廣州市網(wǎng)站建設(shè)公司在哪里企業(yè)郵箱域名
  • 四川政府網(wǎng)站建設(shè)管理辦法什么是網(wǎng)絡(luò)營銷的核心
  • 團(tuán)購網(wǎng)站平臺建設(shè)什么公司適合做seo優(yōu)化
  • ??谧鼍W(wǎng)站的公司如何做好營銷
  • 新網(wǎng)站前期如何做seo怎么在百度免費推廣
  • 諸暨網(wǎng)站制作哪些公司制作西安網(wǎng)站制作推廣
  • 荊州網(wǎng)站建設(shè)seo門戶 site
  • 泰和網(wǎng)站制作網(wǎng)站空間
  • 什么網(wǎng)站建設(shè)最簡單騰訊3大外包公司
  • wordpress購買服務(wù)器百度seo搜索營銷新視角
  • 專門做app的網(wǎng)站內(nèi)容營銷策略
  • 銅仁市網(wǎng)站建設(shè)情況上海百度推廣電話
  • 合肥網(wǎng)站推廣 公司哪家好最好看免費觀看高清大全
  • 鄭州建網(wǎng)站多少河南整站百度快照優(yōu)化
  • 做網(wǎng)站除了廣告還有什么收入的種子搜索神器網(wǎng)頁版
  • 百度做網(wǎng)站一鍵優(yōu)化清理加速
  • 建網(wǎng)站個人主機做服務(wù)器天津seo選天津旗艦科技a
  • 重慶社區(qū)官網(wǎng)太原seo關(guān)鍵詞排名
  • 企業(yè)網(wǎng)站建設(shè)的一般要素包括6百度下載官網(wǎng)
  • 產(chǎn)品宣傳片制作公司seo網(wǎng)站關(guān)鍵詞排名優(yōu)化公司
  • 中國在菲律賓做網(wǎng)站百度知道首頁
  • 設(shè)計類專業(yè)網(wǎng)站西安核心關(guān)鍵詞排名