selenium的常用方法

2022-08-22 16:48:13 字數 2989 閱讀 1970

find_element_by_id()

find_element_by_name()

find_element_by_class_name()

find_element_by_tag_name()

find_element_by_link_text()

find_element_by_partial_link_text()

find_element_by_xpath()

find_element_by_css_selector()

driver.set_window_size(480, 800)  設定寬高

driver.maximize_window() 瀏覽器最大化

driver.get(url="")訪問url

back()、forword()後退、前進

close() 關閉當前頁面

quit() 退出驅動程式,關閉所有頁面

clear()清空文字框資訊

send_keys()文字框資訊輸入,也可以執行上傳操作

click()點選

submit()提交表單,適合沒有提交按鈕的情況,比如敲下回車

size 元素尺寸

text 元素文字資訊

get_attribute(name)獲取屬性值

is_displayed() 判斷元素是否可見

driver.title頁面title

driver.current_url當前頁面url

size=driver.find_element_by_id('kw').size

#返回元素的屬性值,可以是 id、name、type 或元素擁有的其它任意屬性

attribute=driver.find_element_by_id("kw").get_attribute('type')

#返回元素的結果是否可見,返回結果為 true 或 false

result=driver.find_element_by_id("kw").is_displayed()

from selenium import webdriver

#引入 keys 模組

from selenium.webdriver.common.keys import keys 

#輸入框輸入內容

driver.find_element_by_id("kw").send_keys("seleniumm")

#刪除多輸入的乙個 m

driver.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(u"教程")

#ctrl+a 全選輸入框內容

driver.find_element_by_id("kw").send_keys(keys.control,'a')

#ctrl+x 剪下輸入框內容

driver.find_element_by_id("kw").send_keys(keys.control,'x')

#ctrl+v 貼上內容到輸入框

driver.find_element_by_id("kw").send_keys(keys.control,'v')

#通過回車鍵盤來代替點選操作

driver.find_element_by_id("su").send_keys(keys.enter)

import time

time.sleep(5) 強制等待5秒

隱性等待

driver.implicitly_wait(5) 隱性等待的週期是整個driver,只需要設定一次即可,每次的執行都會等待

顯式等待

from selenium.webdriver.common.by import by

from selenium.webdriver.support.ui import webdriverwait

from selenium.webdriver.support import expected_conditions as ec

elm = webdriverwait(driver,5,1).until(ec.presence_of_element_located(by.id,"keyword1"))

webdriverwait(driver, timeout, poll_frequency=0.5, ignored_exceptions=none)

driver - webdriver 的驅動程式(ie, firefox,chrome 等)

timeout - 最長超時時間,預設以秒為單位

poll_frequency - 休眠時間的間隔(步長)時間,預設為 0.5 秒

ignored_exceptions - 超時後的異常資訊,預設情況下拋 nosuchelementexception 異常。

switch_to_frame() 一般可以直接通過id或者name定位,也可以xpath方式先定位到iframe,再呼叫switch_to_frame()

……#先通過 xpth 定位到 iframe

xf = driver.find_element_by_xpath('//*[@class="if"]')

#再將定位物件傳給 switch_to_frame()方法

driver.switch_to_frame(xf)

……driver.switch_to_default_content() 

switch_to_default_content() 回到上一層表單

current_window_handle獲取當前視窗控制代碼

windows_handles 獲取開啟的所有視窗控制代碼

switch_to_window() 切換到控制代碼視窗 

driver.get_screenshot_as_file("d:\\error.jap")

selenium 常用方法

1.啟動瀏覽器 driver webdriver.firefox 2.通過get方法訪問目標url driver.get 3.重新整理當前網頁 self.driver.refresh 4.當前視窗最大化 self.driver.maximize window 5.獲取頁面的html源 pagesou...

selenium 幾種常用的定位方法

1.find element by id 方法通過id屬性定位來元素 2.find element by name 方法通過name屬性來定位元素 3.find element by class name 方法通過class屬性來定位元素 4.find element by tag name 方法通...

Selenium常用方法及函式

新建例項 driver webdriver.chrome 1.獲取當前頁面url的函式 方法 current url 例項 driver.current url 2.表單的提交 方法 submit 解釋 查詢到表單 from 直接呼叫submit即可 例項 driver.find element b...