鼠标操作

键盘操作

下拉框

弹出框

滚动条

 1 from time import sleep
2 from selenium import webdriver
3
4 driver = webdriver.Edge()
5
6 driver.get('file:///C:/Users/Administrator/Desktop/test/pagetest/%E6%B3%A8%E5%86%8CA.html')
7
8 js = "window.scrollTo(0,2000)"
9 driver.execute_script(js)
10 sleep(2)
11 js = "window.scrollTo(2000,100)"
12 driver.execute_script(js)
13
14 sleep(2)
15
16 driver.quit()

强制/隐式/显式等待

 1 from selenium import webdriver
2 from selenium.webdriver.common.by import By
3 from time import sleep
4 from selenium.webdriver.support.wait import WebDriverWait
5
6 driver = webdriver.Edge()
7
8 # 测试网站
9 driver.get('file:///C:/Users/Administrator/Desktop/test/pagetest/%E6%B3%A8%E5%86%8CA.html')
10
11 # 强制等待(加长的程序的运行时间,而且程序变得不可控)
12 # sleep(5)
13 # driver.find_element('xpath','/html/body/div/div[2]/div/input').send_keys('1231421')
14 # sleep(5)
15 # driver.find_element('xpath','/html/body/div/div[2]/div/input[2]').send_keys('fafasffa')
16
17 # 隐式等待(需要等待的我来等待,不需要等待的我直接加载不等待,期间会不断的去检查浏览器有没有加载出来,消耗资源大)
18 driver.implicitly_wait(2)
19
20 driver.find_element('xpath','/html/body/div/div[2]/div/input').send_keys('1231421')
21 driver.find_element('xpath','/html/body/div/div[2]/div/input[2]').send_keys('fafasffa')
22
23 # # 显示等待(需要等待的我来等待,不需要等待的我直接加载不等待,特定时间区去检查一次,消耗资源更少)
24
25 # element = WebDriverWait(driver,10,2).until(lambda x:x.find_element('xpath','/html/body/div/div[2]/div/input'))
26 # element = WebDriverWait(driver,5,2).until_not(lambda x:x.find_element('xpath','/html/body/div/div[2]/div/input'))
27 # element.send_keys('123123124')
28
29 # until(method, message='')
30 # 调用该方法体提供的回调函数作为一个参数,直到返回值为True
31 # until_not(method, message='')
32 # 调用该方法体提供的回调函数作为一个参数,直到返回值为False
33
34 sleep(8)
35
36 driver.close()

selenium+鼠标操作+键盘操作+下拉框+弹出框+滚动条+三种等待--代码的更多相关文章

  1. 基于Selenium2+Java的UI自动化(6)-操作Alert、confirm、prompt弹出框

    alert.confirm.prompt这样的js对话框在selenium1 时代处理起来比价麻烦,常常要用autoit来帮助处理.而现在webdriver对这些弹出框做了专门的处理,使用seleni ...

  2. selenium 鼠标,键盘操作

    1.鼠标操作 导包:from selenium.webdriver.common.action_chains import ActionChains 1.context_click()        ...

  3. css+html+js实现多级下拉和弹出菜单

    本文将使用css+html+js实现横向菜单.具有多级弹出菜单下拉. 首先我们来看看效果图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvajkwMzgy ...

  4. ⒁bootstrap组件 工具提示框 弹出框 警告框 基础案例

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. 通过jquery获得某个元素的位置, 透明div, 弹出框, 然后在旁边显示toggle子级联菜单-hover的bug解决

    jquery的"筛选选择器", 都是用冒号开头的, 即, 冒号选择器就是 筛选选择器.如: :first, :last, :eq(index), :first-child,...等 ...

  6. vue--vant组件库Dialog弹出框

    安装vant UI框架: cnpm install vant –-save-dev 导入组件-在main.js里: import Vant from 'vant'; import'vant/lib/v ...

  7. Bootstrap-Plugin:弹出框(Popover)插件

    ylbtech-Bootstrap-Plugin:弹出框(Popover)插件 1.返回顶部 1. Bootstrap 弹出框(Popover)插件 弹出框(Popover)与工具提示(Tooltip ...

  8. bootstrap 弹出框点击其他区域时弹出框不消失选项设置

    默认情况下,bootstrap 弹出框点击其他区域时,弹出框会自动关闭,在很多时候,我们可能会希望达到和原生弹出框一样的效果,避免不小心点击其他区域时弹框自动隐藏,尤其是对于一些复杂的表单,重复填写可 ...

  9. Bootstrap 弹出框和警告框插件

    一.弹出框 弹出框即点击一个元素弹出一个包含标题和内容的容器. //基本用法 <button class="btn btn-lg btn-danger" type=" ...

  10. 第二百四十六节,Bootstrap弹出框和警告框插件

    Bootstrap弹出框和警告框插件 学习要点: 1.弹出框 2.警告框 本节课我们主要学习一下 Bootstrap 中的弹出框和警告框插件. 一.弹出框 弹出框即点击一个元素弹出一个包含标题和内容的 ...

随机推荐

  1. js过滤掉指定html标签

    替换标签 var str = "<p><span style='color:#ccc;'>这是测试标签</span><span>这是测试htm ...

  2. C语言代码格式脚本-astyle

    安装astyle sudo apt install astyle 代码格式化脚本 #!/bin/sh # http://astyle.sourceforge.net/astyle.html PARAM ...

  3. SQL Server数据库备份和还原

    当需要将一台机器(源机器)上的一个数据库完全复制到另一台机器(目标机器)上时,可以选择先在源机器上备份该数据库,然后在目标机器上还原该备份的方法. 备份 打开SQL server management ...

  4. Redis之Redis缓存管理机制

    Redis缓存管理机制 目录 Redis缓存管理机制 缓存过期 && 缓存淘汰 缓存穿透 && 布隆过滤器 缓存击穿 && 缓存雪崩 总结 彩蛋 从博客 ...

  5. 面试题-react

    对react的理解 是什么 React 是一个用于构建用户界面的 JavaScript 库. 能干什么 可以通过组件化的方式构建大型的,快速响应的大型web应用 如何做 声明式 React 使用jsx ...

  6. zabbix监控网络断网情况--初级版

    zabbix初级监控,通过IMCP方式PING即可 添加网络网关IP地址,鉴于zabbix一般报警方式采取发送邮件.钉钉.微信报警需要网络环境支持,于是至少设置zabbix服务器双网通,建议有条件上三 ...

  7. el-form不进行校验可能的原因

    可能原因 el-form至少需要:model="你的数据form",:rules='你的校验规则' 的属性: 只能校验el-input,不能对原始input进行校验 (大坑).

  8. iOS底层原理02-alloc源码分析

    首先,从最熟悉的入手 - 对象,看看这三个对象的内容,内存地址和指针地址. LGPerson *p1 = [LGPerson alloc];    LGPerson *p2 = [p1 init];  ...

  9. csss线条中间粗两边细

    效果 <div class="hr-line-div"></div> .hr-line-div { margin: 0 auto; height: 2px; ...

  10. Study python_04

    数组 a = [1,2,3] print(a) 数组替换 a = [1,2,3] a[0] = 100 print(a) 数组去重复 def delete_chong(): a = [1,1,2,2, ...