1、鼠标点击与键盘输入
browser.find_element_by_id("kw").send_keys("XXX") ---用于在输入框里输入 内容
browser.find_element_by_id("kw")click() 用于点击一个按钮
browser.find_element_by_id("kw").clear() 清除输入框里面的内容
2、submit提交表单
3、text获取元素文本
data=driver.find_element_by_id("cp").text
4、get_attribute获得属性值
select = driver.find_element_by_tag_name("select") allOptions = select.find_elements_by_tag_name("option") for option in allOptions:
print "Value is: " + option.get_attribute("value")
5、键盘事件
#coding=utf-8
fromselenium importwebdriver
fromselenium.webdriver.common.keysimportKeys #需要引入keys包importos,time
driver = webdriver.Firefox() driver.get("http://passport.kuaibo.com/login/?referrer=http%3A%2F%2Fwebcloud .kuaibo.com%2F")time.sleep(3) driver.maximize_window() # 浏览器全屏显示
driver.find_element_by_id("user_name").clear() driver.find_element_by_id("user_name").send_keys("fnngj")#tab 的定位相相于清除了密码框的默认提示信息,等同上面的 clear()driver.find_element_by_id("user_name").send_keys(Keys.TAB)time.sleep(3)driver.find_element_by_id("user_pwd").send_keys("123456")
#通过定位密码框,enter(回车)来代替登陆按钮driver.find_element_by_id("user_pwd").send_keys(Keys.ENTER)
'''
#也可定位登陆按钮,通过 enter(回车)代替 click()driver.find_element_by_id("login").send_keys(Keys.ENTER)'''
time.sleep(3)
6、键盘组合键用法
7、中文乱码问题
selenium2 python 在 send_keys()中输入中文一直报错,其实前面加个小 u 就解决了:
需要注意的是 utf-8并不是万能的,我们需要保持脚本、浏览器、程序三者编码之间的转换;如果 utf-8不能解决,可以尝试 GBK 或修改浏览器的默认编码。
8、鼠标事件
context_click() 右击 double_click() 双击 drag_and_drop() 拖动
鼠标右键
coding=utf-8
from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains import time
driver = webdriver.Firefox() driver.get("http://passport.kuaibo.com/login/?referrer=http%3A%2F%2Fwebcloud
.kuaibo.com%2F")
#登陆快播私有云driver.find_element_by_id("user_name").send_keys("username")driver.find_element_by_id("user_pwd").send_keys("123456")driver.find_element_by_id("dl_an_submit").click()time.sleep(3)
#定位到要右击的元素
qqq =driver.find_element_by_xpath("/html/body/div/div[2]/div[2]/div/div[3]/table /tbody/tr/td[2]")鼠标双击的写法:
#定位到要双击的元素 qqq =driver.find_element_by_xpath("xxx")#对定位到的元素执行鼠标双击操作ActionChains(driver).double_click(qqq).perform()
#对定位到的元素执行鼠标右键操作ActionChains(driver).context_click(qqq).perform()
鼠标拖放操作的写法:
#定位元素的原位置
element = driver.find_element_by_name("source")#定位元素要移动到的目标位置
target = driver.find_element_by_name("target")
#执行元素的移动操作
ActionChains(driver).drag_and_drop(element, target).perform()