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