欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解Selenium 元素定位和WebDriver常用方法

 更新時間:2020年12月04日 12:07:03   作者:程序猿雜記  
這篇文章主要介紹了詳解Selenium 元素定位和WebDriver常用方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一、定位元素的8種方式

1、方法介紹

定位一個元素 定位多個元素 含義
find_element_by_id() find_elements_by_id() 通過元素id定位
find_element_by_name() find_elements_by_name() 通過元素name定位
find_element_by_xpath() find_elements_by_xpath() 通過xpath表達式定位
find_element_by_link_text() find_elements_by_link_text() 通過完整超鏈接定位
find_element_by_partial_link_text() find_elements_by_partial_link_text() 通過部分鏈接定位
find_element_by_tag_name() find_elements_by_tag_name() 通過標(biāo)簽定位
find_element_by_class_name() find_elements_by_class_name() 通過類名進行定位
find_elements_by_css_selector() find_elements_by_css_selector()

2、實例演示

from selenium import webdriver

driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')

#通過元素id定位()
driver.find_element_by_id('kw')

#通過元素name定位
driver.find_element_by_name('wd')

#通過類名進行定位
driver.find_element_by_class_name('s_ipt')

#通過標(biāo)簽定位
driver.find_element_by_tag_name('input')

#通過xpath表達式定位
driver.find_element_by_xpath('//*[@id="kw"]')

#通過css選擇器進行定位
driver.find_element_by_css_selector('#kw')

#通過完整超鏈接定位
driver.find_element_by_link_text('新聞')

#通過部分鏈接定位
driver.find_element_by_partial_link_text('hao')

driver.quit()#關(guān)閉所有標(biāo)簽頁

關(guān)于xpaht和css的定位比較復(fù)雜,請參考:

XPath獲取方法
XPath語法
CSS選擇器語法

  1. 此處定位可能無法直接查看效果(打印結(jié)果為獲取的元素對象)
  2. 定位一般都配合一些常用方法使用
  3. 上述實例中都是單個元素定位,多個元素定位關(guān)鍵字請參考上邊的方法介紹

二、WebDriver常用方法(配合定位方法使用)

1.點擊和輸入

  1. clear(): 清除文本,大多數(shù)用于輸入框
  2. send_keys (): 模擬按鍵輸入,大多數(shù)用于輸入框
  3. click(): 單擊元素,用處比較廣泛

更多鼠標(biāo)鍵盤事件請參考:
Python爬蟲 - Selenium(5)鼠標(biāo)事件
Python爬蟲 - Selenium(6)鍵盤事件

from selenium import webdriver
import time

driver = webdriver.Chrome()

driver.get('https://www.baidu.com/')

driver.find_element_by_id("kw").clear()
driver.find_element_by_id("kw").send_keys("程序猿雜記")
driver.find_element_by_id("su").click()
time.sleep(5)

driver.quit() # 關(guān)閉所有標(biāo)簽頁

3.提交

submit():用于提交表單,相當(dāng)于回車,應(yīng)用范圍遠不及 click()廣泛

from selenium import webdriver
import time

driver = webdriver.Chrome()

driver.get('https://www.baidu.com/')

driver_id = driver.find_element_by_id("kw")
driver_id.send_keys("程序猿雜記")
driver_id.submit()
time.sleep(5)

driver.quit() # 關(guān)閉所有標(biāo)簽頁

4.獲取一些內(nèi)容

  • title:獲得當(dāng)前頁面的標(biāo)題
  • current_url:用戶獲得當(dāng)前頁面的URL
  • size: 獲取元素的尺寸
  • text: 獲取元素的文本
  • get_attribute(): 獲得屬性值
  • is_displayed(): 該元素是否用戶可見
from selenium import webdriver

driver = webdriver.Chrome()

driver.get('https://www.baidu.com/')

# 獲取當(dāng)前頁面的title
title = driver.title
print(title)

#獲取當(dāng)前頁的url
url = driver.current_url
print(url)

# 獲得輸入框的尺寸
input_size = driver.find_element_by_id('kw').size
print(input_size)

# 返回百度頁面底部備案信息
text = driver.find_element_by_id("cp").text
print(text)

# 返回元素的屬性值, 可以是 id、 name、 type 或其他任意屬性
attribute = driver.find_element_by_id("kw").get_attribute('type')
print(attribute)

# 返回元素的結(jié)果是否可見, 返回結(jié)果為 True 或 False
result = driver.find_element_by_id("kw").is_displayed()
print(result)

driver.quit() # 關(guān)閉所有標(biāo)簽頁


Selenium文集傳送門:

標(biāo)題 簡介
Python爬蟲 - Selenium(1)安裝和簡單使用 詳細介紹Selenium的依賴環(huán)境在Windows和Centos7上的安裝及簡單使用
Python爬蟲 - Selenium(2)元素定位和WebDriver常用方法 詳細介紹定位元素的8種方式并配合點擊和輸入、提交、獲取斷言信息等方法的使用
Python爬蟲 - Selenium(3)控制瀏覽器的常用方法 詳細介紹自定義瀏覽器窗口大小或全屏、控制瀏覽器后退、前進、刷新瀏覽器等方法的使用
Python爬蟲 - Selenium(4)配置啟動項參數(shù) 詳細介紹Selenium啟動項參數(shù)的配置,其中包括無界面模式、瀏覽器窗口大小設(shè)置、瀏覽器User-Agent (請求頭)等等
Python爬蟲 - Selenium(5)鼠標(biāo)事件 詳細介紹鼠標(biāo)右擊、雙擊、拖動、鼠標(biāo)懸停等方法的使用
Python爬蟲 - Selenium(6)鍵盤事件 詳細介紹鍵盤的操作,幾乎包含所有常用按鍵以及組合鍵
Python爬蟲 - Selenium(7)多窗口切換 詳細介紹Selenium是如何實現(xiàn)在不同的窗口之間自由切換
Python爬蟲 - Selenium(8)frame/iframe表單嵌套頁面 詳細介紹如何從當(dāng)前定位的主體切換為frame/iframe表單的內(nèi)嵌頁面中
Python爬蟲 - Selenium(9)警告框(彈窗)處理 詳細介紹如何定位并處理多類警告彈窗
Python爬蟲 - Selenium(10)下拉框處理 詳細介紹如何靈活的定位并處理下拉框
Python爬蟲 - Selenium(11)文件上傳 詳細介紹如何優(yōu)雅的通過send_keys()指定文件進行上傳
Python爬蟲 - Selenium(12)獲取登錄Cookies,并添加Cookies自動登錄 詳細介紹如何獲取Cookies和使用Cookies進行自動登錄
Python爬蟲 - Selenium(13)設(shè)置元素等待 詳細介紹如何優(yōu)雅的設(shè)置元素等待時間,防止程序運行過快而導(dǎo)致元素定位失敗
Python爬蟲 - Selenium(14)窗口截圖 詳細介紹如何使用窗口截圖
Python爬蟲 - Selenium(15)關(guān)閉瀏覽器 詳細介紹兩種關(guān)閉窗口的區(qū)別

到此這篇關(guān)于詳解Selenium 元素定位和WebDriver常用方法的文章就介紹到這了,更多相關(guān)Selenium 元素定位內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python3 如何解壓縮.gz文件

    python3 如何解壓縮.gz文件

    這篇文章主要介紹了python3 如何解壓縮.gz文件,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • 用實例分析Python中method的參數(shù)傳遞過程

    用實例分析Python中method的參數(shù)傳遞過程

    這篇文章主要介紹了用實例分析Python中method的參數(shù)傳遞過程,包括instancemethod和staticmethod等實例,需要的朋友可以參考下
    2015-04-04
  • Python3從零開始搭建一個語音對話機器人的實現(xiàn)

    Python3從零開始搭建一個語音對話機器人的實現(xiàn)

    這篇文章主要介紹了Python3從零開始搭建一個語音對話機器人的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • wxpython實現(xiàn)按鈕切換界面的方法

    wxpython實現(xiàn)按鈕切換界面的方法

    這篇文章主要為大家詳細介紹了wxpython實現(xiàn)按鈕切換界面的方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • Python實現(xiàn)PPT/PPTX批量轉(zhuǎn)換成PDF

    Python實現(xiàn)PPT/PPTX批量轉(zhuǎn)換成PDF

    這篇文章主要為大家詳細介紹了如何使用Python將PowerPoint演示文稿(PPT、PPTX等)轉(zhuǎn)換為PDF文件,使演示內(nèi)容能夠在更多的設(shè)備上展示,感興趣的小伙伴可以了解下
    2024-01-01
  • Django Admin 實現(xiàn)外鍵過濾的方法

    Django Admin 實現(xiàn)外鍵過濾的方法

    下面小編就為大家?guī)硪黄狣jango Admin 實現(xiàn)外鍵過濾的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • 探索Python內(nèi)置數(shù)據(jù)類型的精髓與應(yīng)用

    探索Python內(nèi)置數(shù)據(jù)類型的精髓與應(yīng)用

    本文探索Python內(nèi)置數(shù)據(jù)類型的精髓與應(yīng)用,包括字符串、列表、元組、字典和集合。通過深入了解它們的特性、操作和常見用法,讀者將能夠更好地利用這些數(shù)據(jù)類型解決實際問題。
    2023-09-09
  • Python實現(xiàn)用戶名和密碼登錄

    Python實現(xiàn)用戶名和密碼登錄

    這篇文章主要為大家詳細介紹了Python實現(xiàn)用戶名和密碼登錄,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • python程序運行進程、使用時間、剩余時間顯示功能的實現(xiàn)代碼

    python程序運行進程、使用時間、剩余時間顯示功能的實現(xiàn)代碼

    這篇文章主要介紹了python程序運行進程、使用時間、剩余時間顯示功能,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友參考下吧
    2019-07-07
  • Pandas實現(xiàn)DataFrame的簡單運算、統(tǒng)計與排序

    Pandas實現(xiàn)DataFrame的簡單運算、統(tǒng)計與排序

    本文主要介紹了Pandas實現(xiàn)DataFrame的簡單運算、統(tǒng)計與排序,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-03-03

最新評論