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ù)類(lèi)名獲取元素列表)
注意
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)容可查看本站專(zhuān)題:《Python Socket編程技巧總結(jié)》、《Python正則表達(dá)式用法總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門(mén)與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
- python爬蟲(chóng)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爬蟲(chóng)使用Selenium模擬瀏覽器行為
- 如何在python中使用selenium的示例
- Python使用Selenium+BeautifulSoup爬取淘寶搜索頁(yè)
- python使用selenium實(shí)現(xiàn)批量文件下載
- Python使用Selenium爬取淘寶異步加載的數(shù)據(jù)方法
- python使用selenium登錄QQ郵箱(附帶滑動(dòng)解鎖)
- Python使用Selenium模塊模擬瀏覽器抓取斗魚(yú)直播間信息示例
相關(guān)文章
細(xì)數(shù)nn.BCELoss與nn.CrossEntropyLoss的區(qū)別
今天小編就為大家整理了一篇細(xì)數(shù)nn.BCELoss與nn.CrossEntropyLoss的區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02
對(duì)python numpy數(shù)組中冒號(hào)的使用方法詳解
下面小編就為大家分享一篇對(duì)python numpy數(shù)組中冒號(hào)的使用方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-04-04
詳細(xì)解析Python中的變量的數(shù)據(jù)類(lèi)型
這篇文章主要介紹了詳細(xì)解析Python中的變量的數(shù)據(jù)類(lèi)型,是Python學(xué)習(xí)當(dāng)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-05-05
python使用xlrd與xlwt對(duì)excel的讀寫(xiě)和格式設(shè)定
最近在用python處理excel表的時(shí)候出現(xiàn)了一些問(wèn)題,所以想著記錄下最后的實(shí)現(xiàn)方式和問(wèn)題解決方法。方便自己或者大家在有需要的時(shí)候參考借鑒,下面這篇文章主要就介紹了python使用xlrd與xlwt對(duì)excel的讀寫(xiě)和格式設(shè)定的相關(guān)資料,一起來(lái)學(xué)習(xí)學(xué)習(xí)吧。2017-01-01
Python實(shí)現(xiàn)目錄自動(dòng)清洗
這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)目錄自動(dòng)清洗的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-11-11
一分鐘帶你上手Python調(diào)用DeepSeek的API
最近DeepSeek非常火,作為一枚對(duì)前言技術(shù)非常關(guān)注的程序員來(lái)說(shuō),自然都想對(duì)接DeepSeek的API來(lái)體驗(yàn)一把,下面小編就來(lái)為大家介紹一下Python如何快速上手調(diào)用DeepSeek?API吧2025-02-02
淺談pyqt5在QMainWindow中布局的問(wèn)題
今天小編就為大家分享一篇淺談pyqt5在QMainWindow中布局的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-06-06
Python PyYAML庫(kù)解析YAML文件使用詳解
這篇文章主要為大家介紹了Python PyYAML庫(kù)解析YAML文件使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11

