selenium webdriver 键盘事件与鼠标事件
1、键盘事件:
1、from selenium import webdriver
from selenium.webdriver.common.keys import keys #引入keys包
2、import os,time
定位用户名框
driver.find_element_by_id("定位的输入框id").send_keys("username")
#tab的定位相当于清除了密码框的默认提示信息,等同于clear()
driver.find_element_by_id("定位的输入框id").send_keys(keys.TAB)
time.sleep(3)
driver.find_element_by_id("定位的输入框id").send_keys("password") #输入的是登陆网站的真实的密码
3、通过定位密码框/登录按钮,enter代替登陆按钮
driver.find_element_by_id("passwd/login").send_keys(keys.ENTER)
4、输入框输入内容driver.find_element_by_id("kk").send_keys("输入的内容")
5、ctrl+a全选输入框内容:driver.find_element_by_id("kk").send_keys(Keys.CONTROL,'a')
6、ctrl+x全选输入框内容:driver.find_element_by_id("kk").send_keys(Keys.CONTROL,'x')
2、鼠标事件:
ActionChains类:context_click()右击、double_click()双击、drag_and_drap拖动
导入ActionChains类:from selenium.webdriver.common.action_chains import ActionChains
多层框架/窗口定位:
switch_to_frame()
先找到iframe1(id=fr1)
browser.switch_to_frame("fr1")
再找到下面的iframe2(id=fr2)
browser.switch_to_frame("fr2")
webDriverWait(driver,10)#10秒内每隔500ms扫描一次页面变化,当出现指定元素后结束
is_displayed()#该元素是否用户可见
move_to_element(menu)#移动鼠标到一个元素上
to_element#元件移动到
perform()#执行所有存储的行为
file_path='file:///+os.path.abspath('upload_file.html')#上传文件
driver.get(file.path)#定位上传按钮,添加本地文件
driver.find_element_by_name("file").send_keys('D:\xxx\xxx.txt')#输入要上传的文件位置与名称
(**调用本地文件时要导入os包**)