selenium webdriver python 元素操作

常用操作

click

点击某个元素
driver.find_element_by_id(“su”).click()
 
clear
driver.find_element_by_id(“kw”).clear()
 
send_keys
模拟键盘输入
driver.find_element_by_id(“kw”).send_keys(“hello”)
from selenium.webdriver.common.keys import Keys
driver.find_element_by_id(“kw”).send_keys(Keys.RETURN)
 
获取元素的状态:
是否显示:element.is_displayed()
是否被选中:button_elem.is_selected()
是否enable:element.is_enabled()

提交表单

表单在网页中主要负责数据采集功能。

填写完表单之后,我们需要提交表单。有两个方法可以提交表单。

方法一:找到提交表单的button元素(或其他种类),进行点击操作
driver.find_element_by_id(“submit_button”).click()

方法二:调用submit()方法
每个元素都有一个submit()方法。如果该元素在表单内,WebDriver会自己寻找form的闭包然后在它上面调用submit方法;如果该元素不在表单内,则raise一个NoSuchElementException 。
driver.find_element_by_id(“su”).submit()

拖拽操作

from selenium.webdriver import ActionChains

source_ele=driver.find_element_by_name(“source”)

target_ele=driver.find_element_by_name(“target”)

ActionChains(driver).drag_and_drop(source_ele,target_ele)

切换window

 
driver.switch_to_window(“windowName”)

切换frame

 
driver.switch_to_frame(“frameName”)
driver.switch_to_frame(“frameName.0.childName”)

弹出框

切换到alert,并且返回当前打开的alert对象。

alert=driver.switch_to_alert()
 
alert.accept()
alert.dismiss()
alert.text()
alert.send_keys(“hello”)
 

Cookie

cookie={“name”:”cookie_name”,’value’:’cookie_value’}
driver.add_cookie(cookie)
all_cookies=driver.get_cookies()
for cookie_name,cookie_value in all_cookies.items():
Print “%s->%s”%(cookie_name,cookie_value)

driver.delete(“cookieName”)
driver.delete_all_cookies()

键盘事件

常用键盘键

Keys.RETURN
Keys.ENTER
Keys.TAB
 
from selenium.webdriver.common.keys import Keys
driver.find_element_by_id(“kw”).send_keys(Keys.RETURN)
driver.find_element_by_id(“kw”).send_keys(Keys.CONTROL,’a’)
driver.find_element_by_id(“kw”).send_keys(u”百度一下”)

鼠标右击

from selenium.webdriver import ActionChains

ActionChains(driver).context_click(su_elem).perform()

鼠标双击

ActionChains(driver).double_click(su_elem).perform()