import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys  # 键盘
from selenium.webdriver.support.select import Select  # 鼠标选择driver = webdriver.Chrome()driver.get("https://liushilive.github.io/html_example/index1.html")
#一个不错的练习地址eleUser = driver.find_element_by_id("uid")
elePwd = driver.find_element_by_id("pwd")eleUser.clear()
eleUser.send_keys("11111")
elePwd.send_keys("22222")eleUser.send_keys(Keys.BACK_SPACE * 2)  # 退格2次
elePwd.send_keys(Keys.ARROW_LEFT)  # 光标移动Button_Login = driver.find_element_by_xpath("//input[@type='submit']")
Button_Login.click()P_List = driver.find_element_by_id("s3Id")
P_List_select = Select(P_List)
P_List_select.select_by_index(4)
P_List_select.select_by_value("6")
P_List_select.deselect_all()  # 取消所有选择Button1 = driver.find_element_by_id("b1")
Button2 = driver.find_element_by_id("b2")Button1.click()  # 弹出警告窗口
driver.switch_to.alert.accept()  # 点击接受
driver.switch_to.alert.dismiss()  # 点击取消Button2.click()  # 弹出输入窗口
driver.switch_to.alert.send_keys("Hello World!")  # 输入内容
driver.switch_to.alert.accept()  # 点击接受###双击 属于 行动链对象
DB = driver.find_element_by_id("dblclick")
Ac = webdriver.ActionChains(driver)  #############   行动链对象
Ac.double_click(DB)  #############   双击
Ac.perform()  # 执行webdriver.ActionChains(driver).double_click(DB).perform()  ###同上,一句执行############## 悬浮在多级下拉菜单 #### 移动鼠标 ##############################
FenLei_Link = driver.find_element_by_link_text("分 类")
webdriver.ActionChains(driver).move_to_element(FenLei_Link).perform()BianChengYuYan_Link = driver.find_element_by_link_text("编程语言")
webdriver.ActionChains(driver).move_to_element(BianChengYuYan_Link).perform()PHP_Link = driver.find_element_by_link_text("PHP")
webdriver.ActionChains(driver).move_to_element(PHP_Link).perform()webdriver.ActionChains(driver).move_by_offset(0, 44).perform()  # 按偏移量移动###################### 拖动滑块  #######################HuaKuai = driver.find_element_by_xpath("//*[@id='drag']/div[3]")  # 滑块
webdriver.ActionChains(driver).drag_and_drop_by_offset(HuaKuai, 300, 0).perform()####################滑块拖动 模拟人为 ####################
HuaKuai = driver.find_element_by_xpath("//*[@id='drag']/div[3]")  # 滑块
webdriver.ActionChains(driver).click_and_hold(HuaKuai).perform()for i in range(50):webdriver.ActionChains(driver).move_by_offset(6, 0).perform()webdriver.ActionChains(driver).release().perform()time.sleep(3)
ResetButton = driver.find_element_by_id("re_drag")
ResetButton.click()  # 3秒后点击 重置 按钮
###################################################### 拖拽方块,把 方块1 移动到 方块5 ###############
ele1 = driver.find_element_by_xpath("//div[@data-dad-id='1']")
ele5 = driver.find_element_by_xpath("//div[@data-dad-id='5']")webdriver.ActionChains(driver).click_and_hold(ele1).perform()  # 鼠标点击左键不放
webdriver.ActionChains(driver).move_to_element(ele5).perform()  # 移动到方块5上
webdriver.ActionChains(driver).release().perform()  # 释放鼠标左键#方法2:使用drag_and_drop , 一行代码搞定
webdriver.ActionChains(driver).drag_and_drop(ele1,ele5).perform()####### 多选框 #######C1 = driver.find_element_by_id("c1")
C2 = driver.find_element_by_id("c2")
C3 = driver.find_element_by_id("c3")
C4 = driver.find_element_by_id("c4")
if C1.is_selected():print("已选择")
else:print("没选择")if C1.is_selected() is False:print("没选择")C1.click()  # 勾上
########### 单选框 ############Man = driver.find_element_by_id("man")
Woman = driver.find_element_by_id("woman")
if Man.is_selected():print("当前选择男")Woman.click()
###### 文件上传框 ####### 选择本地文件 ##############CheckFile = driver.find_element_by_id("upload")
CheckFile.send_keys("C:\\111.txt")  # 本地文件路径,需要双斜杠 \\
# input标签是可以直接send_keys的,其它不能
#####################################################MyFrame = driver.find_element_by_name("frame1")
driver.switch_to.frame(MyFrame)
FHSY = driver.find_element_by_link_text("返回首页")
FHSY.click()driver.switch_to.parent_frame()  #切换回父框架driver.switch_to.default_content()  #切换到主页面
driver.switch_to.frame(None)  #切换到主页面,同 driver.switch_to.default_content()
 

python+selenium自动化脚本例子相关推荐

  1. Python+Selenium自动化脚本实现列表信息的多列内容获取

    自动化脚本实现列表信息的多列内容获取(列数目可变) 取出多列信息后显示为一个列表,根据列数目进行列表的拆分,最终展示为多个子列表 # 获取列表数据多列内容def get_list_multicolum ...

  2. Python+selenium 自动化-读取excel记录的脚本执行登陆操作实战演示

    我们可以用 excel 来记录自动化,然后读取 excel 来执行命令,excel 可以很方便直观的管理我们录入的自动化.下面给大家演示一下 Python+selenium 自动化的实例,读取 exc ...

  3. Python+Selenium自动化测试脚本(入门)

    前言 最近在学习Python+selenium自动化测试,计划把公司已有一套自动化测试框架(UIAutomation+C#)用Python+Selenium框架实现一遍.先拿了一个csdn的登录页面练 ...

  4. Python+selenium自动化八大元素定位方法及实例(超详细)

    目录 一.selenium模块中的find_element_by_id方法无法使用 二.Python+selenium自动化八大元素定位方法 使用场景: 1.通过id属性定位:driver.find_ ...

  5. chrome 控制台信息获取 python_【python+selenium自动化】设置Chrome启动参数

    起因:直接用selenium的webdriver启动chrome,会弹出"Chrome正在受到自动软件的控制",并且窗口较小,是因为chrome没有加载任何配置 解决:点进sele ...

  6. python自动化办公都能做什么菜-python+selenium自动化(一)之环境搭建

    一.环境选择 python版本:python3.7(64位)下载地址:https://www.python.org/downloads/ (推荐使用官方下载) selenium版本:selenium3 ...

  7. Python+selenium 自动化-mac下安装配置chrome驱动方法

    我的 Python 版本有两个,先通过 which 看一下对应版本的位置. 然后找到 python 安装目录里的 bin 文件夹,把对应的驱动放里面就好了. 如果不知道怎么匹配对应 chrome 版本 ...

  8. Python+selenium 自动化-基本环境搭建,调用selenium库访问百度查询天气实例演示

    Python+selenium 自动化 第一章:基本环境搭建 ① 安装 selenium 库 ② 下载对应版本的浏览器驱动 ③ 调用百度查天气演示 第一章:基本环境搭建 ① 安装 selenium 库 ...

  9. Python + selenium自动化工具 + 滑块验证码+点选验证码,实现模拟登录“中国铁路网12306”

    文章目录 一.模拟登录"中国铁路网12306 1.引入库 2.初始化 3.将点选验证码图片,通过人工打码,返回目标像素位置(json格式). 4.点选验证码位置得到后,需要鼠标左击进行模拟人 ...

最新文章

  1. 「镁客早报」第九城市与法拉第未来成立合资公司,出资6亿美元;华为获得韩国运营商5G订单,占比95%...
  2. flash咏鹅课件_咏鹅flash动画课件下载
  3. 深信服C/C++技术一面二面20180924
  4. 《科学:无尽的前沿》分享会在京举办,助力中国企业打造“科研的应许之地”
  5. 润乾V5打印完成后事务处理
  6. android 销毁按钮,Android实现所有Activity全部销毁
  7. 循序渐进的敏捷-每日例会
  8. MAC报错:-bash: mysqlbinlog : command not found
  9. 交换机名词解释、配置常用命令
  10. java模板和回调机制学习总结
  11. 不可不知的socket和TCP连接过程
  12. mysql查询数据库修改记录_11. 查询数据库各种历史记录
  13. base64和base32的区分方法
  14. 真核有参转录组测序标准分析-3
  15. html中cursor的属性,cursor怎么用?CSS中cursor属性的使用方法以及可选值的解析
  16. 华三交换机 流量镜像
  17. html新年礼物,特别的新年礼物 特殊的新年礼物
  18. 阿里云服务器数据迁移
  19. Niagara N4 与物联网的学习经验分享(一 New Station)
  20. CPU 寄存器 和内存三者之间的关系

热门文章

  1. System.InvalidOperationException: Response Content-Length mismatch: too few bytes written (0 of 1628
  2. 部分一二线城市的建筑物矢量图
  3. python递归函数
  4. 如何确定一个期刊是不是EI?
  5. 如何把两个文件合并成pdf文件?
  6. IP安全,DDoS攻击、tearDrop攻击和微小IP碎片攻击
  7. 大规模MIMO的信道互易性,信道信息反馈
  8. yyyy-mm-dd与yyyy-MM-dd的区别
  9. 设置计算机网络密码怎么设置路由器,192.168.1.1
  10. matplotlib 点线动画