Python selenium的基本使用方法分析
本文實(shí)例講述了Python selenium的基本使用方法。分享給大家供大家參考,具體如下:
selenium是一個(gè)web自動(dòng)化測(cè)試工具,selenium可以直接運(yùn)行在瀏覽器上,可以接收指令,讓瀏覽器自動(dòng)加載頁(yè)面,獲取需要的數(shù)據(jù)。
selenium的基本使用
1.導(dǎo)包
from selenium import webdriver
2.創(chuàng)建driver對(duì)象
webdriver.PhantomJS()
3.請(qǐng)求數(shù)據(jù)
driver.get("http://www.baidu.com")
4.查看網(wǎng)頁(yè)源碼
driver.page_source
5.關(guān)閉無(wú)界面瀏覽器
driver.quit()
6.根據(jù)id定位元素
drivrt.find_element_by_id("kw")
7.操作點(diǎn)擊事件
click()
8.給輸入框賦值
send_keys()
selenium的定位操作
定位元素語(yǔ)法:
find_element_by_id(返回一個(gè)元素)
find_elements_by_xpath(返回一個(gè)包含元素的列表)
find_elements_by_link_text(根據(jù)連接文本獲取元素列表)
find_elements_by_partial_link_text(根據(jù)鏈接包含的文本獲取元素列表)
find_elements_by_tag_name(根據(jù)標(biāo)簽名獲取元素列表)
find_elements_bu_class_name(根據(jù)類名獲取元素列表)
注意
find_element和find_elements的區(qū)別:多了個(gè)s返回列表,沒(méi)有s的返回匹配到的第一個(gè)。
獲取數(shù)據(jù)
獲取文本:element.text
獲取屬性值:element.get_attribute("href")
selenium的其他方法
selenium處理cookie
driver.get_cookies()
,獲取的是完整的cookie信息,不光有name、value,還有domain等其他信息。
# 把cookie轉(zhuǎn)換為字典 cookies_dict = {cookie['name']: cookie['value'] for cookie in driver.get_cookies()} # 刪除一條cookie driver.delete_cookie("CookieName") # 刪除所有cookie driver.delete_all_cookies()
頁(yè)面等待
time.sleep(10)
selenium執(zhí)行js代碼
driver.execute_script('js語(yǔ)句')
switch方法切換的操作
1.窗口切換
# 獲取當(dāng)前所有的窗口 current_windows = driver.window_handles # 根據(jù)窗口索引進(jìn)行切換 driver.switch_to.window(current_windows[1])
2.selenium默認(rèn)訪問(wèn)不了frame中的內(nèi)容,對(duì)應(yīng)解決的方法是driver.switch_to.frame()
3.處理頁(yè)面彈窗提示
driver.switch_to.alert()
頁(yè)面前進(jìn)和后退
driver.forward() # 前進(jìn) driver.back(() # 后退
selenium的優(yōu)缺點(diǎn)
- 優(yōu)點(diǎn):selenium能夠執(zhí)行頁(yè)面上的js,對(duì)于js渲染的數(shù)據(jù)和模擬登陸處理起來(lái)較容易。
- 缺點(diǎn):selenium由于在獲取頁(yè)面過(guò)程會(huì)發(fā)送很多請(qǐng)求,所以效率非常低。
更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python Socket編程技巧總結(jié)》、《Python正則表達(dá)式用法總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
- python爬蟲selenium和phantomJs使用方法解析
- Python中使用 Selenium 實(shí)現(xiàn)網(wǎng)頁(yè)截圖實(shí)例
- Python使用selenium實(shí)現(xiàn)網(wǎng)頁(yè)用戶名 密碼 驗(yàn)證碼自動(dòng)登錄功能
- python編程使用selenium模擬登陸淘寶實(shí)例代碼
- selenium+python自動(dòng)化測(cè)試之使用webdriver操作瀏覽器的方法
- 淺談python爬蟲使用Selenium模擬瀏覽器行為
- 如何在python中使用selenium的示例
- Python使用Selenium+BeautifulSoup爬取淘寶搜索頁(yè)
- python使用selenium實(shí)現(xiàn)批量文件下載
- Python使用Selenium爬取淘寶異步加載的數(shù)據(jù)方法
- python使用selenium登錄QQ郵箱(附帶滑動(dòng)解鎖)
- Python使用Selenium模塊模擬瀏覽器抓取斗魚直播間信息示例
相關(guān)文章
解決python報(bào)錯(cuò)ImportError:urllib3?v2.0?only?supports?OpenSSL
這篇文章主要介紹了解決python報(bào)錯(cuò)ImportError:urllib3?v2.0?only?supports?OpenSSL?1.1.1+的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12python開發(fā)簡(jiǎn)單的命令行工具簡(jiǎn)介
這篇文章主要介紹了python開發(fā)簡(jiǎn)單的命令行工具實(shí)例的相關(guān)資料,需要的朋友可以參考下2023-02-02node命令行服務(wù)器(http-server)和跨域的實(shí)現(xiàn)
本文主要介紹了node命令行服務(wù)器(http-server)和跨域的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02Python函數(shù)參數(shù)類型*、**的區(qū)別
這篇文章主要介紹了Python函數(shù)參數(shù)類型*、**的區(qū)別,本文用實(shí)例講解它們的區(qū)別,并講解了閉包的相關(guān)知識(shí),需要的朋友可以參考下2015-04-04基于python實(shí)現(xiàn)鼠標(biāo)實(shí)時(shí)坐標(biāo)監(jiān)測(cè)
這篇文章主要給大家介紹了如何基于python實(shí)現(xiàn)鼠標(biāo)實(shí)時(shí)坐標(biāo)監(jiān)測(cè),文章通過(guò)代碼示例介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2023-11-11pytorch 實(shí)現(xiàn)在預(yù)訓(xùn)練模型的 input上增減通道
今天小編就為大家分享一篇pytorch 實(shí)現(xiàn)在預(yù)訓(xùn)練模型的 input上增減通道,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01