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()
作者:微微微笑
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.