web自動化

下拉列表的操作

1.下拉列表是非常常見的頁面元素。是一種特殊的頁面元素,定位和其他元素沒區(qū)

別,但是其操作不其他元素不同。

2.需要導(dǎo)入包

from selenium.webdriver.support.select import Select

注意:需要把元素轉(zhuǎn)換為下列列表對象,才能點(diǎn)出下面的api

3.選擇下列列表中的元素有三種方式

? select_by_index() #索引

? select_by_visible_text()#文本

? select_by_value()#value屬性的值

鍵盤操作

? Keys()類提供了鍵盤上幾乎所有按鍵的方法。

? send_keys()方法可以用來模擬鍵盤輸入。

? 還可以用它來輸入鍵盤上的按鍵, 甚至是組合鍵, 如 Ctrl+A、 Ctrl+C 等。

? 在使用鍵盤按鍵方法前需要先導(dǎo)入 keys 類。

? from selenium.webdriver.common.keys import Keys

常用的鍵盤操作:

? send_keys(Keys.BACK_SPACE) 刪除鍵(BackSpace)

? send_keys(Keys.TAB) 制表鍵(Tab)(不常用)

? send_keys(Keys.ESCAPE) esc鍵(Esc)

? send_keys(Keys.ENTER) 回車鍵(Enter)

? send_keys(Keys.CONTROL,‘a(chǎn)’) 全選(Ctrl+A)

? send_keys(Keys.CONTROL,‘c’) 復(fù)制(Ctrl+C)

? send_keys(Keys.CONTROL,‘x’) 剪切(Ctrl+X)

? send_keys(Keys.CONTROL,‘v’) 粘貼(Ctrl+V)

#案例:在百度搜索欄中,進(jìn)行輸入,刪除,全選,剪切,粘貼功能
dr=webdriver.Firefox()

dr.get('http://www.baidu.com')

sleep(2)

e=dr.find_element_by_id('kw')

e.send_keys('軟件測試')

sleep(2)

e.send_keys(Keys.CONTROL,'a')

sleep(2)

e.send_keys(Keys.CONTROL,'x')

sleep(2)

dr.get('http://www.taobao.com')

sleep(2)

e=dr.find_element_by_id('q')

e.send_keys(Keys.CONTROL,'v')

sleep(2)

dr.quit()

瀏覽器控制

? 瀏覽器窗口大小的控制

dr.set_window_size(寬,高)

dr.maximize_window():最大化顯示

dr.minimize_window():最小化顯示,在最小化情況下,也可以進(jìn)行元素定位及操作

? 頁面前進(jìn)與后退

back()和forward()方法來模擬后退和前進(jìn)按鈕

#案例:進(jìn)入淘寶,然后設(shè)置瀏覽器的大小為400,500,然后最大,最小,再最大,轉(zhuǎn)入到百度,然后后退,再前進(jìn)

dr=webdriver.Firefox()

dr.get("http://www.qq.com")

sleep(2)

dr.minimize_window()

sleep(2)

dr.maximize_window()

sleep(2)

dr.set_window_size(300,300)

sleep(2)

dr.get("http://www.taobao.com")

sleep(2)

dr.back()

sleep(2)

dr.forward()

sleep(2)

dr.quit()

? 頁面刷新

driver.refresh()

? 針對瀏覽器窗口頁面截圖

get_screenshot_as_file(保存圖片的位置)

? 瀏覽窗口的關(guān)閉和瀏覽器退出

使用quit()方法,其含義為退出相關(guān)的驅(qū)動程序和關(guān)閉所有窗口。

使用close()方法,關(guān)閉單個窗口,關(guān)閉最前面的窗口

多窗口處理

多窗口的意思是一個瀏覽器中打開了多個窗口

? 瀏覽器標(biāo)簽頁的切換

?? ? 瀏覽器的標(biāo)簽頁在應(yīng)用中一般稱為頁面句柄(handle)。

?? ? 獲取當(dāng)前窗口句柄:driver.current_window_handle

?? ? 獲取瀏覽器所有句柄:driver.window_handles

?? ? 切換到指定的瀏覽器窗口:driver.switch_to.window(handle)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容