日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

轻松自动化---selenium-webdriver(python) (六)

發(fā)布時(shí)間:2025/5/22 171 豆豆
生活随笔 收集整理的這篇文章主要介紹了 轻松自动化---selenium-webdriver(python) (六) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?http://www.testclass.net/??測(cè)試教程網(wǎng),專(zhuān)業(yè)的selenium 學(xué)習(xí)網(wǎng)站。

本節(jié)知識(shí)點(diǎn):

操作對(duì)象:

  • ·?click?點(diǎn)擊對(duì)象
  • ·?send_keys?在對(duì)象上模擬按鍵輸入
  • ·?clear?清除對(duì)象的內(nèi)容,如果可以的話

WebElement??另一些常用方法:

  • ·?text??獲取該元素的文本
  • ·?submit??提交表單
  • ·?get_attribute??獲得屬性值

======================================

?

操作測(cè)試對(duì)象

?

前面講到了不少知識(shí)都是定位元素,定位只是第一步,定位之后需要對(duì)這個(gè)原素進(jìn)行操作。

鼠標(biāo)點(diǎn)擊呢還是鍵盤(pán)輸入,這要取決于我們定位的是按鈕還輸入框。

一般來(lái)說(shuō),webdriver中比較常用的操作對(duì)象的方法有下面幾個(gè)

·?click?點(diǎn)擊對(duì)象

·?send_keys?在對(duì)象上模擬按鍵輸入

·?clear?清除對(duì)象的內(nèi)容,如果可以的話

在我們本系列開(kāi)篇的第一個(gè)例子里就用到了到click?和send_skys ,別翻回去找了,我再貼一下代碼:

# coding = utf-8 from selenium import webdriverbrowser = webdriver.Firefox()browser.get("http://www.baidu.com") browser.find_element_by_id("kw").clear() browser.find_element_by_id("kw").send_keys("selenium") browser.find_element_by_id("su").click() browser.quit()

send_keys("XX")?  用于在一個(gè)輸入框里輸入內(nèi)容。

click()?  用于點(diǎn)擊一個(gè)按鈕。

clear()  ?用于清除輸入框的內(nèi)容,比如百度輸入框里默認(rèn)有個(gè)“請(qǐng)輸入關(guān)鍵字”的信息,再比如我們的登陸框一般默認(rèn)會(huì)有“賬號(hào)”“密碼”這樣的默認(rèn)信息。clear可以幫助我們清除這些信息。

?

?

WebElement??另一些常用方法:

?

·?text??獲取該元素的文本

·?submit??提交表單

· get_attribute??獲得屬性值

?

text??

用于獲取元素的文本信息

下面把百度首頁(yè)底部的聲明打印輸出

#coding=utf-8 from selenium import webdriverimport timedriver = webdriver.Firefox() driver.get("http://www.baidu.com") time.sleep(2)#id = cp 元素的文本信息 data=driver.find_element_by_id("cp").text print data #打印信息 time.sleep(3) driver.quit()

輸出:

>>> ?2013 Baidu 使用百度前必讀 京ICP證030173號(hào)

?

?

submit

提交表單

我們把“百度一下”的操作從click?換成submit?:

#coding=utf-8 from selenium import webdriverimport timedriver = webdriver.Firefox() driver.get("http://www.baidu.com")driver.find_element_by_id("kw").send_keys("selenium") time.sleep(2) #通過(guò)submit() 來(lái)操作 driver.find_element_by_id("su").submit() time.sleep(3) driver.quit()

這里用submit?與click的效果一樣,我暫時(shí)還沒(méi)想到只能用submit?不能用click的場(chǎng)景。他們之間到底有啥區(qū)別,知道的同學(xué)請(qǐng)留言告訴我。

?

get_attribute

獲得屬性值。

這個(gè)函數(shù)的用法前面已經(jīng)有出現(xiàn)過(guò),在定位一組元素的時(shí)候有使用到它,只是我們沒(méi)有做過(guò)多的解釋。

一般用法:

select = driver.find_element_by_tag_name("select")allOptions = select.find_elements_by_tag_name("option")for option in allOptions:print "Value is: " + option.get_attribute("value")option.click()

具體應(yīng)用參考:

定位一組元素:http://www.cnblogs.com/fnng/p/3190966.html

?

小結(jié):

學(xué)到這里我們是不是已經(jīng)撐握了不少知識(shí),簡(jiǎn)單的操作瀏覽器,定位元素,操作元素以及打印一些信息。其實(shí),我們前面的學(xué)習(xí)中大多使用的是WebElement?里的方法。

?

WebElement的方法:

?

一般來(lái)說(shuō),所有有趣的操作與頁(yè)面進(jìn)行交互的有趣的操作,都通過(guò)?WebElement?完成

classselenium.webdriver.remote.webelement.WebElement(parent,?id_)

這個(gè)類(lèi)代表HTML頁(yè)面元素

?

id_#當(dāng)前元素的ID tag_name#獲取元素標(biāo)簽名的屬性 text#獲取該元素的文本。 click()#單擊(點(diǎn)擊)元素 submit()#提交表單 clear()#清除一個(gè)文本輸入元素的文本 get_attribute(name)#獲得屬性值 s_selected(self)#元素是否被選擇 Whether the element is selected.is_enabled()#元素是否被啟用 find_element_by_id(id_)find_elements_by_id(id_)#查找元素的id find_element_by_name(name)find_elements_by_name(name)#查找元素的name find_element_by_link_text(link_text)find_elements_by_link_text(link_text)#查找元素的鏈接文本 find_element_by_partial_link_text(link_text)find_elements_by_partial_link_text(link_text)#查找元素的鏈接的部分文本 find_element_by_tag_name(name)find_elements_by_tag_name(name)#查找元素的標(biāo)簽名 find_element_by_xpath(xpath)#查找元素的xpath find_elements_by_xpath(xpath)#查找元素內(nèi)的子元素的xpath find_element_by_class_name(name)#查找一個(gè)元素的類(lèi)名 find_elements_by_class_name(name)#查找元素的類(lèi)名 find_element_by_css_selector(css_selector)#查找并返回一個(gè)元素的CSS 選擇器 find_elements_by_css_selector(css_selector)#查找并返回多個(gè)元素的CSS 選擇器列表 send_keys(*value)#模擬輸入元素

?

?

?

?

?

--------------------------

學(xué)習(xí)更多selenium 內(nèi)容:

?「功能測(cè)試自動(dòng)化」匯總

?

總結(jié)

以上是生活随笔為你收集整理的轻松自动化---selenium-webdriver(python) (六)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。