本篇總結了 web 頁面常用的一些操作元素方法,可以統稱為行為事件
有些 web 界面的選項菜單需要鼠標懸停在某個元素上才能顯示出來(如百度頁面的設置按鈕)。
1 簡單操作
1.點擊(鼠標左鍵)頁面按鈕:click()
2.請空輸入框:clear()
3.輸入字符串:send_keys()
4.打開測試部落論壇后,點擊放大鏡搜索圖標,一般為了保證輸入的正確性,可以先清
空下輸入框,然后輸入搜索關鍵字
1
2
3
4
5
6
7
8
|
# coding:utf-8
from
selenium
import
webdriver
driver
=
webdriver.Firefox()
driver.get(
"http://www.baidu.com "
)
driver.implicitly_wait(
10
)
driver.find_element_by_id(
"kw"
).click()
driver.find_element_by_id(
"kw"
).clear()
driver.find_element_by_id(
"kw"
).send_keys(
"selnium"
)
|
2.submit 提交表單
1.在前面百度搜索案例中,輸入關鍵字后,可以直接按回車鍵搜索,也可以點搜索按鈕搜索。
2.submit()一般用於模擬回車鍵
1
2
3
4
5
6
7
8
|
# coding:utf-8
from
selenium
import
webdriver
driver
=
webdriver.Firefox()
driver.get(
"http://www.baidu.com "
)
driver.implicitly_wait(
10
)
driver.find_element_by_id(
"kw"
).send_keys(
"selnium"
)
# submit() 模擬enter鍵提交表單
driver.find_element_by_id(
"kw"
).submit()
|
3 鍵盤操作
1.selenium 提供了一整套的模擬鍵盤操作事件,前面 submit()方法如果可行的話,可
以試試模擬鍵盤事件
2.模擬鍵盤的操作需要先導入鍵盤模塊:from selenium.webdriver.common.keys
import Keys
3.模擬 enter 鍵,可以用 send_keys(Keys.ENTER)
1
2
3
4
5
6
7
8
9
10
11
|
# coding:utf-8
from
selenium
import
webdriver
from
selenium.webdriver.common.keys
import
Keys
driver
=
webdriver.Firefox()
driver.get(
"http://www.baidu.com "
)
driver.implicitly_wait(
10
)
driver.find_element_by_id(
"kw"
).click()
driver.find_element_by_id(
"kw"
).clear()
driver.find_element_by_id(
"kw"
).send_keys(
"selnium"
)
# 模擬enter鍵操作回車按鈕
driver.find_element_by_id(
"kw"
).send_keys(Keys.ENTER)
|
4.其它常見的鍵盤操作:
鍵盤 F1 到 F12:send_keys(Keys.F1) 把 F1 改成對應的快捷鍵
復制 Ctrl+C:send_keys(Keys.CONTROL,'c')
粘貼 Ctrl+V:send_keys(Keys.CONTROL,'v')
全選 Ctrl+A:send_keys(Keys.CONTROL,'a')
剪切 Ctrl+X:send_keys(Keys.CONTROL,'x')
制表鍵 Tab: send_keys(Keys.TAB)
這里只是列了一些常用的,當然除了鍵盤事件,也有鼠標事件
4 鼠標懸停事件
1.鼠標不僅僅可以點擊(click),鼠標還有其它的操作,如:鼠標懸停在某個元素上,鼠標右擊,鼠標按住某個按鈕拖到
2.鼠標事件需要先導入模塊:from selenium.webdriver.common.action_chainsimport ActionChains
perform() 執行所有 ActionChains 中的行為
move_to_element() 鼠標懸停
3.這里以百度頁面設置按鈕為例
4.除了常用的鼠標懸停事件外,還有
右擊鼠標:context_click()
雙擊鼠標:double_click()
1
2
3
4
5
6
7
8
9
10
11
|
# coding:utf-8
from
selenium
import
webdriver
# 引入ActionChains類
from
selenium.webdriver.common.action_chains
import
ActionChains
# 使用方法
brower
=
webdriver.Firefox()
brower.get(
"http://www.baidu.com"
)
# 定位到需要右擊的元素並賦值給rigth_click
right_click
=
brower.find_element_by_id(
"kw"
)
# 對定位到的元素進行右擊操作。
ActionChains(brower).context_click(right_click).perform()
|