1. 鼠标悬停操作
1.1 常用方法
click ():模拟鼠标单击操作click_and_hold ():模拟鼠标单击并且按住不放double_click ():模拟鼠标双击context_click ():模拟鼠标右击操作drag_and_drop(source,target) :模拟鼠标拖曳drag_and_drop(source,xoffset,yoffset) :模拟将鼠标拖曳到目标位置key_down ():模拟按住某个键,实现快捷键操作key_up ():模拟松开某个键,一般和key_down操作一起使用move_to_element ():模拟将鼠标移到指定的某个页面元素move_to_element_with_offset(to_element,xoffset,yoffset) :移到鼠标至指定的坐标perform ():将之前一系列的ActionsChains执行release ():释放按下的鼠标
1.2 举例
from selenium import webdriver
from selenium. webdriver. common. action_chains import ActionChains
driver = webdriver. Chrome( )
driver. maximize_window( )
driver. get( 'https://www.baidu.com' )
bg_config = driver. find_element_by_id( "s-usersetting-top" )
ActionChains( driver) . move_to_element( bg_config) . perform( )
driver. find_element_by_link_text( "搜索设置" ) . click( )
2. Select操作
2.1 选择Select元素的值的方法
from selenium. webdriver. support. select import Select
se = driver. find_element_by_id( "nr" )
Select( se) . select_by_index( 1 )
Select( se) . select_by_value( "20" )
Select( se) . select_by_visible_text( "每页显示20 条)
2.2 返回选项(options)的操作方法
se = driver. find_element_by_id( "nr" )
Select( se) . select_by_visible_text( "每页显示20 条”)
ops = Select( se) . options
for i in ops:
print ( i. text)
ops = Select( se) . all_selected_options
for i in ops:
print ( i. text)
ops = Select( se) . first_selected_option
print ( ops. text)
3. JavaScript操作页面元素
from selenium import webdriver
driver = webdriver. Chrome( )
driver. maximize_window( )
driver. get( 'https://www.baidu.com' )
js = "document.getElementById('kw').value = 'selenium'"
driver. execute_script( js)
driver. set_window_size( 800 , 700 )
driver. find_element_by_id( 'kw' ) . send_keys( "selenium" )
driver. find_element_by_id( 'su' ) . click( )
js = "window.scrollTo(100,300)"
driver. execute_script( js)
4. jQuery操作页面元素
from selenium import webdriver
driver = webdriver. Chrome( )
driver. maximize_window( )
driver. get( 'https://www.baidu.com' )
jq = "$('#kw').val('selenium')"
driver. execute_script( jq)
jq = "$('#su').click()"
driver. execute_script( jq)
5. 常用的鼠标事件
5.1 常用操作
double_click ():鼠标双击操作context_click ():鼠标右击操作drag_and_drop ():鼠标拖曳操作move_to_element ():鼠标悬停操作
5.2 举例
from selenium import webdriver
from selenium. webdriver import ActionChains
driver = webdriver. Chrome( )
driver. get( "https://www.baidu.com" )
driver. maximize_window( )
element = driver. find_element_by_link_text( u"新闻" )
ActionChains( driver) . context_click( element) . perform( )
ActionChains( driver) . double_click( element) . perform( )
6. 常用键盘事件
6.1 常用键盘事件
Keys.BACK_SPACE :删除键Keys.SPACE :空格键Keys.TAB :Tab键Keys.ESCAPE :回退键Keys.ENTER :回车键Keys.CONTROL,“a” :组合键 Ctrl + AKeys.CONTROL,“x” :组合键 Ctrl + XKeys.CONTROL,“v” :组合键 Ctrl + VKeys.CONTROL,“c” :组合键 Ctrl + CKeys.F1 :F1键Keys.F12 :F12键
6.2 举例
from selenium import webdriver
from selenium. webdriver. common. keys import Keys
driver = webdriver. Chrome( )
driver. get( "https://www.baidu.com" )
driver. implicitly_wait( 10 )
driver. maximize_window( )
driver. find_element_by_id( 'kw' ) . send_keys( "SeleniumTest" + Keys. BACK_SPACE)
driver. find_element_by_id( 'kw' ) . send_keys( Keys. BACK_SPACE)