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

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

廣告公司企業(yè)簡(jiǎn)介seo 推廣教程

廣告公司企業(yè)簡(jiǎn)介,seo 推廣教程,卡一卡二三免視頻,長(zhǎng)春好的做網(wǎng)站公司排名一.Selenium概述 1.1 什么是框架? 框架(framework)是一個(gè)框子——指其約束性,也是一個(gè)架子——指其支撐性。是一個(gè)基本概念上的 結(jié)構(gòu)用于去解決或者處理復(fù)雜的問(wèn)題。 框架是整個(gè)或部分系統(tǒng)的可重用設(shè)計(jì),表現(xiàn)為一組抽象構(gòu)件及…

一.Selenium概述

1.1 什么是框架?

框架(framework)是一個(gè)框子——指其約束性,也是一個(gè)架子——指其支撐性。是一個(gè)基本概念上的

結(jié)構(gòu)用于去解決或者處理復(fù)雜的問(wèn)題。

框架是整個(gè)或部分系統(tǒng)的可重用設(shè)計(jì),表現(xiàn)為一組抽象構(gòu)件及構(gòu)件實(shí)例間交互的方法;另一種定義
認(rèn)為,框架是可被應(yīng)用開發(fā)者定制的應(yīng)用骨架。前者是從應(yīng)用方面而后者是從目的方面給出的定義。

框架,其實(shí)就是某種應(yīng)用的半成品,就是一組組件,供你選用完成你自己的系統(tǒng)。簡(jiǎn)單說(shuō)就是使用

別人搭好的舞臺(tái),你來(lái)做表演。

1.2 為什么使用框架?

1)自己從頭實(shí)現(xiàn)太復(fù)雜

2)使用框架能夠更專注于業(yè)務(wù)邏輯,加快開發(fā)速度

3)框架的使用能夠處理更多細(xì)節(jié)問(wèn)題

4)使用人數(shù)多,穩(wěn)定性,擴(kuò)展性好

1.3 Selenium 工作原理

在這里插入圖片描述

二.Selenium API基礎(chǔ)

1.前提操作

(1)導(dǎo)入庫(kù)

from selenium import webdriver

(2)創(chuàng)建瀏覽器對(duì)象

driver=webdriver.Chrome()   #創(chuàng)建瀏覽器對(duì)象  谷歌瀏覽器
driver.get('https://www.baidu.com/')  #訪問(wèn)網(wǎng)址 百度

2.方法

我們需要使用dir()來(lái)查看方法

print(dir(driver))

(1) 調(diào)整瀏覽器的尺寸

driver.maximize_window() #窗口最大化

print(driver.get_window_size()) #獲取瀏覽器尺寸 {‘height’: 1020, ‘width’: 945}

driver.set_window_size(width=‘1200’,height=‘1000’) #設(shè)置瀏覽器尺寸

(2) 調(diào)整瀏覽器的位置

print(driver.get_window_position())   #獲取瀏覽器位置  {'x': 10, 'y': 10}print(driver.set_window_position(100,100))      #設(shè)置瀏覽器位置

(3) 獲取當(dāng)前頁(yè)面的url

print(driver.current_url) #https://www.baidu.com/

(4) 獲取當(dāng)前頁(yè)面的title

print(driver.title) #百度一下,你就知道

(5) 刷新頁(yè)面

driver.refresh()

(6) 返回上一頁(yè)/下一頁(yè)

driver.back() #上一頁(yè)

driver.forward() #下一頁(yè)

(7) 保存圖片

#方式一:

data=driver.get_screenshot_as_png()
with open(‘111.jpg’,‘wb’) as f:
f.write(data)

#方式二:

driver.get_screenshot_as_file(‘222.jpg’)

(8) 查看網(wǎng)頁(yè)源碼

print(driver.page_source)

(9) 關(guān)閉網(wǎng)頁(yè)

driver.close() #關(guān)閉當(dāng)前頁(yè)面

driver.quit() #關(guān)閉所有頁(yè)面

3.元素定位

# 方式一: driver.find_element_by_xxx(value)
# 方式二:driver.find_element(By.xxx,value)
# 1.id
input=driver.find_element_by_id('kw')
input.send_keys(12306)
# 2.class
input=driver.find_element_by_class_name('s_ipt')
input.send_keys(12306)
# 3.name
input=driver.find_element_by_name('wd')
input.send_keys(12306)
# 4.xpath
input=driver.find_element_by_xpath('//*[@id="kw"]')
input.send_keys(12306)
# 5.css
input=driver.find_element_by_css_selector('#kw')
input.send_keys(12306)
# 6.link_text 全匹配
news=driver.find_element_by_link_text('新聞')
news.click()
# 7.partial_link_text  模糊匹配
news=driver.find_element_by_partial_link_text('聞')
news.click()
# 8.tag name  標(biāo)簽名
put=driver.find_element_by_tag_name("span")
put.click()

三.Selenium API高級(jí)

3.1 頁(yè)面跳轉(zhuǎn)

from selenium import webdriver
driver=webdriver.Chrome()
driver.get('http://bj.58.com')
# 獲取當(dāng)前頁(yè)面的句柄
h1=driver.window_handles
print('58同城:',h1)
# 定位元素  寵物
a=driver.find_element_by_link_text('寵物')
# 點(diǎn)擊寵物
a.click()
# 獲取點(diǎn)擊跳轉(zhuǎn)之后的句柄
h2=driver.window_handles
print('寵物:',h2)
# 跳轉(zhuǎn)句柄
driver.switch_to.window(h2[1])
# 定位元素  寵物狗
dog=driver.find_element_by_xpath('/html/body/div[3]/div[1]/dl[1]/dd[1]/a/strong')
# dog=driver.find_element_by_link_text('寵物狗')
dog.click() 
# 獲取點(diǎn)擊跳轉(zhuǎn)之后的句柄
h3=driver.window_handles
print('寵物狗:',h3)
# 跳轉(zhuǎn)句柄
driver.switch_to.window(h3[2])# 定位元素
small=driver.find_element_by_css_selector('#selection > dl:nth-child(1) > dd > a:nth-child(6)')
small.click()

3.2 表單跳轉(zhuǎn)

from selenium import webdriver
import time
driver=webdriver.Chrome()
driver.get('https://qzone.qq.com/')  #訪問(wèn)qq空間頁(yè)面
driver.maximize_window()  #窗口最大化#定位表單
frame=driver.find_element_by_id('login_frame')
# 表單跳轉(zhuǎn)
driver.switch_to.frame(frame)
time.sleep(2)
# 點(diǎn)擊密碼登錄
driver.find_element_by_link_text('密碼登錄').click()
time.sleep(2)
# 輸入賬號(hào)
driver.find_element_by_id('u').send_keys('1720003909')
time.sleep(2)
# 輸入密碼
driver.find_element_by_id('p').send_keys('xqy20001220')
time.sleep(2)
# 點(diǎn)擊登錄
driver.find_element_by_id('login_button').click()
# 關(guān)閉頁(yè)面
driver.close()

3.3?彈出框操作

#進(jìn)入彈出框driver.switch_to.alert
#接收警告accept()
#解散警告dismiss()
#發(fā)送文本到警告框send_keys(data)
代碼:from selenium import webdriver
import timedriver=webdriver.Chrome()
driver.get('https://www.baidu.com/')# 定位 設(shè)置
set=driver.find_element_by_id('s-usersetting-top')
set.click()# 定位 搜索設(shè)置
search=driver.find_element_by_xpath('//*[@id="s-user-setting-menu"]/div/a[1]/span')
search.click()# 定位 每頁(yè)20條
page=driver.find_element_by_xpath('/html/body/div[1]/div[6]/div/div/div/div[1]/form/div/ul/li[3]/span[2]/span[2]/label')
page.click()# 定位 保存設(shè)置
save=driver.find_element_by_css_selector('#se-setting-7 > a.prefpanelgo.setting-btn.c-btn.c-btn-primary')
save.click()time.sleep(2)
driver.switch_to.alert.accept()     #彈框處理
# driver.switch_to.alert.dissmiss() #彈框處理

3.4 滾動(dòng)條操作

from selenium import webdriver
import timedriver=webdriver.Chrome()
driver.get('http://bj.58.com')time.sleep(3)
# 滾動(dòng)條到底部
# js="var q=document.documentElement.scrollTop=10000"
js = "window.scrollTo(0,document.body.scrollHeight)"
driver.execute_script(js)  #執(zhí)行jstime.sleep(3)
# 頂部
js="window.scrollTo(0,0)"
driver.execute_script(js)time.sleep(3)
# 移動(dòng)到指定元素
target = driver.find_element_by_xpath('/html/body/div[3]/div[1]/div[1]/div/div[2]/div[2]/a[13]') #定位移動(dòng)到的元素
driver.execute_script("arguments[0].scrollIntoView();", target)
target.click()

3.5 鼠標(biāo)鍵盤操作

from selenium import webdriver
from selenium.webdriver import ActionChains  #鼠標(biāo)操作
from selenium.webdriver.common.keys import Keys  #鍵盤操作
import timedriver=webdriver.Chrome()
driver.get('https://www.baidu.com/')# 定位元素  更多
more=driver.find_element_by_link_text('更多')#鼠標(biāo)操作
ActionChains(driver).click(more).perform()   #鼠標(biāo)左擊
ActionChains(driver).context_click(more).perform() #鼠標(biāo)右擊
ActionChains(driver).move_to_element(more).perform()  #鼠標(biāo)懸浮#鍵盤操作
srk = driver.find_element_by_id("kw")
srk.send_keys(12306)
time.sleep(2)
srk.send_keys(Keys.CONTROL,"a")
srk.send_keys(Keys.CONTROL,"x")
time.sleep(2)
srk.send_keys(Keys.CONTROL,'v')

3.6 下拉框操作

from selenium import webdriverdriver=webdriver.Chrome()
driver.get('https://www.baidu.com/')driver.maximize_window()# 定位元素  設(shè)置按鈕
set=driver.find_element_by_id('s-usersetting-top')
set.click()# 定位元素   高級(jí)搜索
find=driver.find_element_by_xpath('//*[@id="s-user-setting-menu"]/div/a[2]/span')
find.click()# 定位元素  全部時(shí)間
time=driver.find_element_by_class_name('c-select-selected-value')
time.click()# 定位元素  最近一月
m=driver.find_elements_by_class_name('c-select-item')#方式一:
m[3].click()#方式二
for i in m:if i=='最近一月':i.click()

3.7 等待操作

(1)強(qiáng)制等待import time         #強(qiáng)制等待:無(wú)論網(wǎng)絡(luò)是否良好,必須等待對(duì)應(yīng)的時(shí)間,才會(huì)執(zhí)行下面的代碼
time.sleep(3)
(2) 隱式等待driver.implicitly_wait(100)  #隱式等待,當(dāng)前界面的所有元素全部加載完成,才會(huì)執(zhí)行下面的代碼
(3) 顯示等待from selenium.webdriver.support.wait import WebDriverWait   #導(dǎo)入顯性等待的包
from selenium.webdriver.support import expected_conditions as EC  #判斷所需要的元素是否已經(jīng)被加載出來(lái)
from selenium.webdriver.common.by import By  #定位# 定位元素  設(shè)置按鈕
WebDriverWait(driver,10,0.5).until(EC.presence_of_element_located((By.ID,"s-usersetting-top")))
set=driver.find_element_by_id('s-usersetting-top')
set.click()

四.Selenium IDE

4.1 什么是Selenium IDE?

Selenium的IDE(集成開發(fā)環(huán)境)是一個(gè)易于使用的Firefox插件,用于開發(fā)Selenium測(cè)試案例。

它提供了一個(gè)圖形用戶界面,用于記錄使用Firefox瀏覽器,用來(lái)學(xué)習(xí)和使用Selenium用戶操作,
但它只能用于只用Firefox瀏覽器不支持其它瀏覽器

4.2 IDE功能簡(jiǎn)介

在這里插入圖片描述

最后感謝每一個(gè)認(rèn)真閱讀我文章的人,禮尚往來(lái)總是要有的,雖然不是什么很值錢的東西,如果你用得到的話可以直接拿走:

這些資料,對(duì)于【軟件測(cè)試】的朋友來(lái)說(shuō)應(yīng)該是最全面最完整的備戰(zhàn)倉(cāng)庫(kù),這個(gè)倉(cāng)庫(kù)也陪伴上萬(wàn)個(gè)測(cè)試工程師們走過(guò)最艱難的路程,希望也能幫助到你!

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

相關(guān)文章:

  • 網(wǎng)站設(shè)計(jì)一般包括什么免費(fèi)的api接口網(wǎng)站
  • 江門網(wǎng)站建設(shè)推廣關(guān)鍵詞優(yōu)化seo多少錢一年
  • 網(wǎng)站開發(fā)公司會(huì)計(jì)科目中小企業(yè)網(wǎng)絡(luò)營(yíng)銷現(xiàn)狀
  • 電商平臺(tái)圖片素材seo平臺(tái)是什么意思
  • 沈陽(yáng)世紀(jì)興網(wǎng)站制作泰州seo網(wǎng)絡(luò)公司
  • 零代碼建站平臺(tái)免費(fèi)推廣網(wǎng)站視頻
  • 介紹做ppt高大上圖表的網(wǎng)站西安網(wǎng)站搭建
  • top后綴做網(wǎng)站好不好互聯(lián)網(wǎng)公司排名
  • 施工企業(yè)安全生產(chǎn)責(zé)任制度seo教程網(wǎng)站優(yōu)化
  • 印度喜歡用什么框架做外貿(mào)網(wǎng)站南京網(wǎng)站設(shè)計(jì)
  • 百度網(wǎng)站推廣費(fèi)用多少錢福建網(wǎng)站建設(shè)制作
  • 徐州手機(jī)網(wǎng)站建設(shè)公司哪家好免費(fèi)網(wǎng)絡(luò)推廣渠道
  • 小城天長(zhǎng)網(wǎng)站建設(shè)seo站長(zhǎng)工具 論壇
  • 關(guān)于推進(jìn)政府網(wǎng)站集約化建設(shè)的通知聊城seo
  • 個(gè)人可以做外貿(mào)網(wǎng)站嗎成都百度seo優(yōu)化公司
  • 東莞中堂網(wǎng)站建設(shè)指數(shù)網(wǎng)站
  • 網(wǎng)絡(luò)運(yùn)維需要懂什么技術(shù)武漢seo報(bào)價(jià)
  • 大嶺山鎮(zhèn)網(wǎng)站建設(shè)公司新品牌推廣策略
  • 百度大數(shù)據(jù)官網(wǎng)入口seo網(wǎng)站關(guān)鍵詞快速排名
  • wordpress 頁(yè)面二維碼徐州seo培訓(xùn)
  • wordpress案例分析梅州seo
  • 保險(xiǎn)網(wǎng)站有哪些谷歌官方seo入門指南
  • 手機(jī)上如何做mv視頻網(wǎng)站網(wǎng)上接單平臺(tái)
  • WordPress重力表單注冊(cè)石家莊網(wǎng)絡(luò)seo推廣
  • 網(wǎng)站自動(dòng)秒收錄工具網(wǎng)絡(luò)廣告案例以及分析
  • 佛山網(wǎng)站建設(shè)定制開發(fā)交換友情鏈接的方法
  • 外貿(mào)網(wǎng)站屏蔽國(guó)內(nèi)ipseo報(bào)名在線咨詢
  • 做淘寶客沒有網(wǎng)站怎么做武漢seo優(yōu)化顧問(wèn)
  • 個(gè)人域名用來(lái)做淘寶客網(wǎng)站推介網(wǎng)
  • wap企業(yè)網(wǎng)站模板什么是搜索引擎營(yíng)銷?