成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術(shù)文章
文章詳情頁

python Selenium 庫的使用技巧

瀏覽:9日期:2022-07-08 08:56:53

Selenium 是一個(gè)用于Web應(yīng)用程序測(cè)試的工具。Selenium測(cè)試直接運(yùn)行在瀏覽器中,就像真正的用戶在操作一樣。支持的瀏覽器包括IE,Mozilla Firefox,Safari,Google Chrome,Opera等。這個(gè)工具的主要功能包括:測(cè)試與瀏覽器的兼容性——測(cè)試你的應(yīng)用程序看是否能夠很好得工作在不同瀏覽器和操作系統(tǒng)之上。測(cè)試系統(tǒng)功能——?jiǎng)?chuàng)建回歸測(cè)試檢驗(yàn)軟件功能和用戶需求。支持自動(dòng)錄制動(dòng)作和自動(dòng)生成 .Net、Java、Perl等不同語言的測(cè)試腳本。 -- 百度百科

首先下載驅(qū)動(dòng)文件:https://chromedriver.storage.googleapis.com/index.html?path=2.39/

放入google目錄下

python Selenium 庫的使用技巧

測(cè)試代碼,測(cè)試是否能讀取到驅(qū)動(dòng)文件。

from selenium import webdriverpath = 'C:/Users/LyShark/AppData/Local/Google/Chrome/Application/chromedriver.exe'driver = webdriver.Chrome(executable_path=path)url = 'https://www.baidu.com'driver.get(url)print(driver.page_source)

python Selenium 庫的使用技巧

簡(jiǎn)單的實(shí)現(xiàn)瀏覽器測(cè)試

# -*- coding:utf-8 -*-from selenium import webdriverWebPath = 'C:/Users/LyShark/AppData/Local/Google/Chrome/Application/chromedriver.exe'driver = webdriver.Chrome(executable_path=WebPath)driver.set_window_size(1000,500)url = 'https://www.baidu.com'driver.get(url)print(driver.find_element_by_id('kw'))

Selenium 自動(dòng)化測(cè)試庫的使用:

<!DOCTYPE html><html lang='en'><head> <meta charset='gbk'> <title>Selenium Test</title></head><body> <div id='aid'> <a rel='external nofollow' name='trnews'>新聞</a> <a rel='external nofollow' name='myblog'>我的博客</a> <a rel='external nofollow' name='mygit'>GitHub</a> </div> <form name='submit_form' action='index.html'> <span class='soutu-btn'></span> <p>用戶: <input name='wd' value='' maxlength='255' autocomplete='off'></p> <p>密碼: <input name='wd' value='' maxlength='255' autocomplete='off'></p> <input type='submit' value='提交' /> </form> <p name='p1' > hello lyshark p1</p> <p name='p2' > hello lyshark p2</p></body></html>

通過簡(jiǎn)單的瀏覽文件并實(shí)現(xiàn)簡(jiǎn)單的定位.

# 驅(qū)動(dòng)下載地址: http://chromedriver.storage.googleapis.com/index.htmlfrom selenium import webdriverWebPath = 'C:/Users/LyShark/AppData/Local/Google/Chrome/Application/chromedriver.exe'driver = webdriver.Chrome(executable_path=WebPath)driver.set_window_size(1024,768)# 常用的定位變量參數(shù)如下所示.driver.get('http://lyshark.com')print('當(dāng)前URL: {}'.format(driver.current_url))print('當(dāng)前標(biāo)題: {}'.format(driver.title))print('網(wǎng)頁代碼: {}'.format(driver.page_source))# 基本的 find_element 標(biāo)簽查找定位方式print(driver.find_element_by_id('user')) # 通過ID來查找元素print(driver.find_element_by_name('p1').text) # 通過name屬性來定位print(driver.find_element_by_class_name('s_ipt')) # 通過類名來定位# 通過xpath定位,xpath定位有N種寫法,這里列幾個(gè)常用寫法print(driver.find_element_by_xpath('//form[@class=’fms’]//input[@id=’user’]'))print(driver.find_element_by_xpath('//p[@name=’p1’]'))print(driver.find_element_by_xpath('//html/body/form/p/input'))print(driver.find_elements_by_css_selector('.fms #user'))# 定位a標(biāo)簽中的關(guān)鍵字.print(driver.find_element_by_link_text('新聞'))print(driver.find_element_by_partial_link_text('我'))

通過xpath定位標(biāo)簽并自動(dòng)輸入內(nèi)容,發(fā)送登錄請(qǐng)求到后端,寫法如下.

from selenium import webdriverWebPath = 'C:/Users/LyShark/AppData/Local/Google/Chrome/Application/chromedriver.exe'driver = webdriver.Chrome(executable_path=WebPath)driver.set_window_size(1024,768)driver.get('http://lyshark.com')# 通過xpath語法定位到用戶名的標(biāo)簽上并且自動(dòng)輸入lyshark這個(gè)用戶名driver.find_element_by_xpath('//form[@class=’fms’]/p//input[@id=’user’]').send_keys('lyshark')# 通過xpath語法定位到密碼的標(biāo)簽上清空默認(rèn)值,然后輸入123123密碼driver.find_element_by_xpath('//form[@class=’fms’]/p//input[@id=’pass’]').clear()driver.find_element_by_xpath('//form[@class=’fms’]/p//input[@id=’pass’]').send_keys('123123')# 提交這個(gè)請(qǐng)求,默認(rèn)有兩種提交方式一種是 click() 一種是submit()driver.find_element_by_xpath('//form[@class=’fms’]/input[@type=’submit’]').click()

通過鍵盤鼠標(biāo)類庫記錄并可回放

from selenium import webdriverfrom selenium.webdriver import ActionChainsfrom selenium.webdriver.common.keys import KeysWebPath = 'C:/Users/LyShark/AppData/Local/Google/Chrome/Application/chromedriver.exe'driver = webdriver.Chrome(executable_path=WebPath)driver.set_window_size(1024,768)driver.get('https://www.baidu.com')# ------------------------------------------------------------------------# ActionChains 類提供了鼠標(biāo)操作的常用方法,鼠標(biāo)事件的常用函數(shù)說明# perform(): 鼠標(biāo)懸浮于標(biāo)簽# context_click(): 右擊# double_click(): 雙擊# drag_and_drop(): 拖動(dòng)# move_to_element():鼠標(biāo)懸停# 定位到要懸停的元素above = driver.find_element_by_link_text('更多產(chǎn)品')# 對(duì)定位到的元素執(zhí)行鼠標(biāo)懸停操作ActionChains(driver).move_to_element(above).perform()# ------------------------------------------------------------------------# webdriver.common.keys 類提供了鍵盤事件的操作,以下為常用的鍵盤操作:# send_keys(Keys.BACK_SPACE) 刪除鍵(BackSpace)# send_keys(Keys.SPACE) 空格鍵(Space)# send_keys(Keys.TAB) 制表鍵(Tab)# send_keys(Keys.ESCAPE) 回退鍵(Esc)# send_keys(Keys.ENTER) 回車鍵(Enter)# send_keys(Keys.CONTROL,’a’) 全選(Ctrl+A)# send_keys(Keys.CONTROL,’c’) 復(fù)制(Ctrl+C)# send_keys(Keys.CONTROL,’x’) 剪切(Ctrl+X)# send_keys(Keys.CONTROL,’v’) 粘貼(Ctrl+V)# send_keys(Keys.F1) 鍵盤 F1# 輸入框輸入內(nèi)容driver.find_element_by_id('kw').send_keys('seleniumm')# 刪除多輸入的一個(gè) mdriver.find_element_by_id('kw').send_keys(Keys.BACK_SPACE)# 輸入空格鍵+從入門到入土driver.find_element_by_id('kw').send_keys(Keys.SPACE)driver.find_element_by_id('kw').send_keys('從入門到入土')# ctrl+a 全選輸入框內(nèi)容driver.find_element_by_id('kw').send_keys(Keys.CONTROL, ’a’)# ctrl+x 剪切輸入框內(nèi)容driver.find_element_by_id('kw').send_keys(Keys.CONTROL, ’x’)# ctrl+v 粘貼內(nèi)容到輸入框driver.find_element_by_id('kw').send_keys(Keys.CONTROL, ’v’)# 通過回車鍵來代替單擊操作driver.find_element_by_id('su').send_keys(Keys.ENTER)

簡(jiǎn)單的點(diǎn)擊事件

# -*- coding:utf-8 -*-from selenium import webdriverimport timeWebPath = 'C:/Users/LyShark/AppData/Local/Google/Chrome/Application/chromedriver.exe'driver = webdriver.Chrome(executable_path=WebPath)driver.set_window_size(1024,768)driver.get('https://www.baidu.com')driver.find_element_by_id('kw').send_keys('lyshark') # 發(fā)送給id=kw的編輯框,搜索關(guān)鍵字 lysharkdriver.find_element_by_id('su').click()# 點(diǎn)擊搜索按鈕,百度一下的ID是sutime.sleep(1)# xpath 語法 尋找 div id是1里面的 a標(biāo)簽取出標(biāo)簽中的 contains text()driver.find_element_by_xpath('//div[@id=’1’]//a[contains(text(),’-’)]').click()time.sleep(1)handle = driver.current_window_handle # 獲取當(dāng)前窗口句柄handle_all = driver.window_handles # 獲取當(dāng)前所有開啟窗口的句柄print(handle_all)driver.switch_to.window(handle_all[0]) # 切換到第一個(gè)窗口中time.sleep(1)driver.find_element_by_id('kw').clear() # 接著清空搜索框中的內(nèi)容

python Selenium 庫的使用技巧

百度自動(dòng)收集

from selenium import webdriverfrom bs4 import BeautifulSoupfrom queue import Queueimport requests,os,re,lxml# driver: http://chromedriver.storage.googleapis.com/index.html?path=79.0.3945.36/head = {'User-Agent':'Mozilla/5.0 (iPhone; U; CPU like Mac OS X) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/4A93 Safari/419.3'}WebPath = 'C:/Users/LyShark/AppData/Local/Google/Chrome/Application/chromedriver.exe'driver = webdriver.Chrome(executable_path=WebPath)queue = Queue()for item in range(0,1000,10):queue.put(’https://www.baidu.com/s?wd={}&pn={}’.format('lyshark',str(item)))for item in queue.queue:driver.get(item)ret = str(driver.page_source)try:soup = BeautifulSoup(ret,’lxml’)urls = soup.find_all(name=’a’,attrs={’data-click’:re.compile((’.’)),’class’:None})for item in urls: get_url = requests.get(url=item[’href’],headers=head,timeout=5) if get_url.status_code == 200: print(get_url.url)except Exception:pass

python Selenium 庫的使用技巧

頁面等待

from selenium import webdriverdriver=webdriver.Chrome()driver.get(’https://www.taobao.com/’)wait=WebDriverWait(driver,3) #設(shè)置監(jiān)聽driver等待時(shí)間3秒input=wait.until(EC.presence_of_element_located((By.ID,’q’))) #設(shè)置等待條件為id為q的元素加載完成button=wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR,’.btn-search’))) #設(shè)置等待條件為class名為btn-search的元素加載完成print(input,button)driver = webdriver.Firefox()driver.implicitly_wait(10) #隱式等待設(shè)置為10等待時(shí)間driver.get('http://somedomain/url_that_delays_loading')myDynamicElement = driver.find_element_by_id('myDynamicElement')

鍵盤操作

element=driver.find_element_by_id(’search’) #獲取輸入框element.send_keys(’selenium’) #搜索selenium包element.send_keys(Keys.ENTER) #按回車鍵element_a=driver.find_element_by_link_text(’selenium’) #定位selenium包鏈接ActionChains(driver).move_to_element(element_a).click(element_a).perform() #按左鍵點(diǎn)擊鏈接執(zhí)行element_down=driver.find_element_by_link_text(’Download files’) #定位下載鏈接ActionChains(driver).move_to_element(element_down).click(element_down).perform() #按左鍵點(diǎn)擊鏈接element_selenium=driver.find_element_by_link_text(’selenium-3.13.0.tar.gz’) #定位元素selenium下載包鏈接data=element_selenium.get_attribute(’href’) #獲取鏈接地址with open(’selenium-3.13.0.tar.gz’,’wb’) as f: source=requests.get(data).content #請(qǐng)求下載鏈接地址獲取二進(jìn)制包數(shù)據(jù) f.write(source) #寫入數(shù)據(jù) f.close() driver.quit()menu = driver.find_element_by_css_selector('.nav') #獲取element對(duì)象hidden_submenu = driver.find_element_by_css_selector('.nav #submenu1') #獲取點(diǎn)擊對(duì)象#創(chuàng)建鼠標(biāo)對(duì)象actions = ActionChains(driver)#移動(dòng)鼠標(biāo)到對(duì)象actions.move_to_element(menu)#點(diǎn)擊對(duì)象actions.click(hidden_submenu)#執(zhí)行操作actions.perform()

文章作者:lyshark文章出處:https://www.cnblogs.com/lyshark

以上就是python Selenium 庫的使用技巧的詳細(xì)內(nèi)容,更多關(guān)于python Selenium 庫的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
亚洲欧洲精品一区二区| 国产精品久久久99| 高清不卡一区二区在线| 免费三级欧美电影| 色综合天天天天做夜夜夜夜做| av一本久道久久综合久久鬼色| 日本高清成人免费播放| 欧美色综合天天久久综合精品| 这里只有精品免费| 亚洲一区二区欧美| 国产又黄又大久久| 亚洲综合国产激情另类一区| 麻豆9191精品国产| 免费日韩av片| 中文字幕亚洲电影| 99视频有精品| 欧美日韩国产一区| 午夜电影一区二区| 蜜臀av一区二区在线免费观看| 97精品视频在线观看自产线路二| av成人免费在线观看| 欧美揉bbbbb揉bbbbb| 欧美电视剧免费观看| 国产亚洲福利社区一区| 国产盗摄一区二区三区| 欧美三级视频在线| 视频一区二区国产| 国产一区二区三区高清| 一本大道av一区二区在线播放| 欧美剧在线免费观看网站| 亚洲大片在线观看| 欧美另类女人| 亚洲综合不卡| 中文字幕在线免费不卡| 91视频免费看| 欧美主播一区二区三区美女 久久精品人 | 欧美一卡2卡3卡4卡| 免费高清在线一区| 色婷婷狠狠综合| 三级一区在线视频先锋| 亚洲欧美大片| 亚洲综合一区在线| 亚洲一卡久久| 亚洲成人一区在线| 亚洲一区二区三区四区五区午夜| 自拍偷在线精品自拍偷无码专区| 欧美日韩免费高清| 欧美国产激情二区三区| 午夜视频久久久| 在线成人免费视频| 国产中文字幕精品| 91精品国产综合久久蜜臀 | 国产成人综合亚洲91猫咪| 欧美久久久久中文字幕| 蜜桃久久精品一区二区| 精品视频在线视频| 精品一区二区综合| 91一区在线观看| 精品国产91亚洲一区二区三区婷婷 | 欧美一区二区三区四区久久| 国产麻豆精品在线观看| 欧美精品丝袜中出| 大尺度一区二区| 26uuu亚洲| 欧美在线视频一区二区三区| 日韩欧美123| 99re免费视频精品全部| 欧美精品一区二区三| 成人app软件下载大全免费| 精品国内片67194| 色综合天天综合网天天狠天天 | 亚洲欧美一区二区三区久本道91 | 午夜影院日韩| 三级影片在线观看欧美日韩一区二区| 久久久久久久波多野高潮日日| 美国精品在线观看| 欧美一区二区三区四区五区| proumb性欧美在线观看| 欧美激情一区二区| 一区二区亚洲精品| 国产精品久久久久天堂| av不卡在线| 美女任你摸久久| 欧美一区二区视频免费观看| 91免费小视频| 亚洲欧美偷拍三级| 美日韩精品免费| 日本欧美加勒比视频| 欧美日韩电影在线播放| 国产成人在线免费观看| 国产午夜精品一区二区| 99re热精品| 日韩精品色哟哟| 日韩欧美亚洲国产另类| 极品中文字幕一区| 午夜一区二区三区视频| 欧美一区二区三区免费观看视频| 91香蕉视频在线| 一区二区三区**美女毛片| 91久久一区二区| 国产一二三精品| 欧美人与禽猛交乱配视频| 亚洲综合激情网| 在线观看亚洲一区| 99国产精品国产精品毛片| 亚洲另类中文字| 欧美日韩精品一区视频| 99久久夜色精品国产网站| 国产午夜精品福利| 免费看亚洲片| 99国产精品视频免费观看| 亚洲成在线观看| 日韩美女一区二区三区四区| 韩国在线一区| 美女高潮久久久| 中文字幕不卡在线观看| 日本韩国一区二区三区视频| 成人动漫视频在线| 亚洲免费色视频| 欧美日韩亚洲综合在线| 欧美在线日韩精品| 奇米四色…亚洲| 国产精品丝袜在线| 欧美最猛性xxxxx直播| 91麻豆产精品久久久久久| 丝袜诱惑亚洲看片| 精品国产乱码91久久久久久网站| 国产农村妇女毛片精品久久莱园子| 国产风韵犹存在线视精品| 综合欧美亚洲日本| 欧美一区二区日韩一区二区| aa亚洲婷婷| 亚洲午夜精品在线| 亚洲激情另类| 福利一区在线观看| 亚洲黄色av一区| 精品国精品国产| 日本韩国一区二区三区| yourporn久久国产精品| 亚洲高清在线视频| 国产欧美一区二区精品性| 欧美在线小视频| 亚洲精品123区| 成人黄色大片在线观看| 日韩中文字幕av电影| 国产精品卡一卡二卡三| 日韩欧美国产1| 久久久xxx| 国产精品www994| 国产剧情一区二区三区| 亚洲一区影音先锋| 亚洲国产精华液网站w| 91 com成人网| 亚洲一区综合| 91丝袜呻吟高潮美腿白嫩在线观看| 捆绑调教一区二区三区| 亚洲小说春色综合另类电影| 26uuu亚洲| 国产欧美视频一区二区三区| 欧美高清hd18日本| 欧美午夜精品电影| 在线视频观看一区| 日本韩国欧美国产| 在线观看日韩av先锋影音电影院| 久久一区二区三区av| 国产精品乱码一区二区三区| 亚洲精美视频| 99亚洲一区二区| 91久久夜色精品国产九色| 狠色狠色综合久久| 精品成人免费| 亚洲作爱视频| 午夜亚洲一区| 久久这里有精品15一区二区三区| 久久精品亚洲| 色婷婷综合五月| 在线视频一区二区三区| 欧美午夜视频网站| 欧美色网站导航| 欧美美女bb生活片| 日韩视频一区二区三区在线播放| 日韩美女视频一区二区在线观看| 日韩美女视频在线| 精品免费视频.| 久久久精品黄色| 亚洲欧洲综合另类在线| 夜夜嗨av一区二区三区网页| 亚洲a一区二区| 久久99精品国产.久久久久久| 久久不见久久见免费视频7| 国精品**一区二区三区在线蜜桃| 国产二区国产一区在线观看 | 久久大香伊蕉在人线观看热2| 久久综合九色综合久99| 在线一区二区视频| 欧美肥大bbwbbw高潮| 精品不卡在线视频| 久久中文娱乐网| 国产精品污网站| 亚洲精品国产一区二区精华液|