鼠标操作

键盘操作

下拉框

弹出框

滚动条

 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. gitlab上传代码,菜鸟教学

    1.首先需要在gitlab上新建项目 2.编辑项目名称 3.在本地电脑上新建一个空的文件夹(或者是一个固定统一的文件夹),方便后续找到,这里会将gitlab的项目拉到这个文件内. 点击进入这个文件夹, ...

  2. docker 可视化平台Portainer搭建

    1.部署步骤 docker pull portainer/portainer docker run -d -p 9001:9000 \--restart=always \-v /var/run/doc ...

  3. SAP生产订单没有目标成本的原因解释

    首先,OKV6察看一下目标成本的配置,默认是当期成本估算,见下图: 其次,没有目标成本的原因还可能是下列原因导致: 1.该物料没有成本估算和发布2.工艺路线维护日期晚于这个物料估算日期3.没有做CO1 ...

  4. java问题解答

    因为子类继承自父类,会沿用父类的东西(没被覆盖的函数以及可见的成员变量等),而这些东西子类是没有的,需要先初始化父类才能被使用 子类构造方法中调用父类构造方法,一个作用是可以给父类构造方法传递实参,给 ...

  5. String.prototype.replace--替换字符串

    str.replace(regexp|substr, newSubStr|function)     API本身不改变原本的字符串,只是返回新的字符串例子:用函数作为第二个参数function rep ...

  6. AI 智能搜索 开源hanlp实现

    AI智能搜索 通过网络资源可知有很多种开源方式实现智能搜索,其中hanlp在GitHub中响应居高 参考链接: https://www.hanlp.com/ Java版:https://github. ...

  7. ABAP 物料主数据 屏幕增强按钮

    首先看效果,目标是在物料主数据中 基础数据页面新增一个按钮来满足跳转需求,这里以跳转百度为例 页面效果如下: 创建定制程序 事务代码 SPRO,路径:后勤-常规 -> 物料主数据 -> 配 ...

  8. vue data functions should return an object

    报错: 原因:data里没写return{}

  9. MySQL利用information_schema库注入

    information_schema库简单说就是MySQL里的一个目录库,MySQL是一本书,information_schema库这个存储数据库元数据的库就是书的目录或者索引. 库>表> ...

  10. python爬虫代码中_获取状态码

    '两种方式' import urllib status=urllib.urlopen("//www.jb51.net").code print status import requ ...