selenium初阶2

1、操作系统指令
os.system("taskkill /F /PID 1808")#指定PID关闭进程
os.system("taskkill /F /IM firefox.exe")#关闭所有指定应用程序
os.system("calc.exe")#启动计算器
os.system(r"G:\firefox32\firefox.exe")#启动Firefox浏览器

2、#验证码解决方案:
应用场景:防止非法操作,刷票、秒杀
#1.测试环境中配置万能验证码,在控制代码中加一行允许万能验证码通过
#2.测试环境中的验证码配置成开关模式,采取屏蔽方式来解决
#3.采取机器打码技术解决(打码平台)
#4.采取图像识别,openCV视觉库,让机器来学习识别元素(验证码)
#5.开发提供验证码的公共接口,直接调用接口传出的随机验证码

3、相关弹框的绝对方法:
1)提示输入信息:prompt
2) 提示框:alert
3) 确认框:confirm
4)提示框点击确定:dr.switch_to.alert.accept()
5)提示框点击取消:dr.switch_to.alert.dismiss()
6)提示输入框输入数据:dr.switch_to.alert.send_keys("XXX")
7)获取提示框文本信息:dr.switch_to.alert.text

4、css选择器定位模式:
#<input type="text" id="username" class="form-control">
1)依据id :#username
dr.find_element_by_css_selector("#username").send_keys("admin")
2)依据class:.class ; A B
form.form-inline input dr.find_element_by_css_selector("form.form-inline input").send_keys("admin")
3)父元素下有多个子元素 AAA:BBB
form.form-inline>div:nth-child[3]>input dr.find_element_by_css_selector("form.form-inline>div:nth-child[3]>input").send_keys("admin")
4)元素之间层层递进:XXX>YYY>ZZZ
dr.find_element_by_css_selector("form.form-inline>div:last-child>button").click()
5)[prop='value'],匹配方式:完全匹配:p=v,匹配开头:p^=v,匹配结尾:p$=v,包含匹配:p*=v
6)利用标签tag+class,img.ke-common-icon.ke-icon-source
driver.find_element_by_css_selector("img.ke-common-icon.ke-icon-source").click()

5、xpath路径定位方式:
# 1)绝对路径 /html/body/div[4]/div/form/div[2]/input 一层一层往下找
dr.find_element_by_xpath("/html/body/div[4]/div/form/div[2]/input").send_keys("admin")
# 2) 相对路径 //input 直接找
dr.find_element_by_xpath("//input").send_keys("admin")
# 3) 指定位置 //form/div[3]/input
dr.find_element_by_xpath("//form/div[3]/input").send_keys("admin")
# 4) 依据属性 //input[@type="password"]
dr.find_element_by_xpath('//input[@type="password"]').send_keys("admin")
#5) 懒人匹配 /html/*/*/*/*/*/input
dr.find_element_by_xpath("/html/*/*/*/*/*/input").send_keys("admin")

6、keys(组合按键)导包 from selenium.webdriver.common.keys import Keys
send_keys(Keys.BACK_SPACE)
send_keys(Keys.CONTROL,'a')
send_keys(Keys.DELETE)

7、ActionChains(鼠标操作)导包 from selenium.webdriver.common.action_chains import ActionChains
1)鼠标右键点击:ActionChains(dr).context_click(dr.find_element_by_link_text('※ 公告管理 ※')).perform()

8、PyKeyboard,键盘操作 from pykeyboard import PyKeyboard
1)k=PyKeyboard(),实例化键盘对象
2)实现按压下键 k.press_key(k.down_key),Ke.release_key(k.down_key)#释放按键
3)实现按压回车键k.press_key(k.enter_key)

8、dr.switch_to.window()(窗口切换)

9、文件上传
1)#webdriver直接send_keys(),中英文路径均可实现
dr.find_element_by_id("batchfile").send_keys(r"E:\FTP\销售出库单-20171020-Test.xls")

2)#鼠标点击“选择文件”,通过键盘+鼠标操作实现
ActionChains(dr).click(dr.find_element_by_id('batchfile')).perform()
k.type_string(r"E:\FTP\sales-20171020-Test.xls")#不支持中文路径
k.press_key(k.enter_key)

10、截图
dr.save_screenshot(r"E:\FTP\test%d.png"%random_num)#截图
dr.get_screenshot_as_file(r"E:\FTP\test%d.png"%random_num)#截图

 

转载于:https://www.cnblogs.com/bokowu/p/10494439.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值