位置: IT常识 - 正文

Selenium.Webdriver最新语法教程(附Chrome实例演示)

编辑:rootadmin
Selenium.Webdriver最新语法教程(附Chrome实例演示)

推荐整理分享Selenium.Webdriver最新语法教程(附Chrome实例演示),希望有所帮助,仅作参考,欢迎阅读内容。

Selenium.Webdriver最新语法教程(附Chrome实例演示)

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

 “ 随着selenium库的不断更新,现有教程部分语法不适用于当前版本,故笔者写下此篇教程供初学者学习使用、老手快速查询调库使用 。” 

编程环境:Pycharm浏览器:Chrome示例网站:www.baidu.com教程内容:Selenium.Webdriver语法、ActionChains库语法、Keys库列表Selenium.Webdriver:模拟浏览器行为ActionChains库:模拟键盘、模拟鼠标行为Keys库列表:模拟按键对应字符串对照列表根据需求按照目录自由跳转学习即可 驱动下载与导入点击链接Chrome Webdriver下载入口选择当前浏览器版本对应的驱动Pycharm 导入 selenium包驱动提取from selenium import webdriverfrom selenium.webdriver.chrome.service import Services = Service(r'F:\Download\Browser\Edge\chromedriver.exe') # 存储驱动所在路径d = webdriver.Chrome(service=s) # 从路径提取驱动,设置驱动名为dd.implicitly_wait(60) # 设置每个步骤最大等待时间d.get('https://www.baidu.com') # GET方法访问百度Selenium八大定位语法Tips :快速获取网页元素标识内容,步骤:点击网页元素-右键-检查 Tips :css\xpath标识内容可通过浏览器快速获取,步骤:选择元素源代码-右键-copy-导出d.find_element('id', 'id标识内容')d.find_element('css selector', 'css标识内容').send_keys()d.find_element('link text', '文本标识内容')d.find_element('partial link text', '部分文本标识内容')d.find_element('name', 'name标识内容')d.find_element('class name', 'class标识内容')d.find_element('tag name', 'tag name标识内容')d.find_element('xpath', 'xpath标识内容')# 常结合输入框输入参数,更多语法详见下文:ActionChains库d.find_element('id', '输入框的id').send_keys('输入框的输入内容')网页操作基本操作d.implicitly_wait('秒数') # 设置最大等待时间d.implicitly_wait(60) # 设置最大等待时间为60秒d.refresh() # 刷新当前窗口d.forward() # 网页前进d.back() # 网页后退d.maximize_window() # 最大化当前驱动窗口d.minimize_window() # 最小化当前驱动窗口d.fullscreen_window() # 网页全屏,调用窗口管理器特定的“全屏”操作d.get_cookie('name的名称') # 通过name获得一个cookied.get_cookies() # 返回对应于当前会话可见的所有cookies,返回类型为字典d.start_client() # 自定义开启会话,创建新session前调用d.stop_client() # 自定义结束会话,结束一个session后调用# d.start_session('字典:支撑会话功能的字典')自动截屏d.get_screenshot_as_file('filename') # 当前页面截屏保存为png图片,可指定路径,boold.get_screenshot_as_file('r"/figure/sc.png') # 文件名后缀png不能少d.get_screenshot_as_png() # 当前页面截屏保存为png格式,数据形式为binary data窗口参数获取与设置# get 为获取,set为设置d.get_window_rect() # 当前窗口x,y坐标和长度、宽度d.get_window_position() # 当前窗口x、y坐标d.get_window_size() # 当前窗口长度、宽度d.set_window_rect('x坐标', 'y坐标', '宽度', '高度')d.set_window_position('x坐标', 'y坐标', windowHandle='current')d.set_window_size('宽度', '高度', windowHandle='current')窗口切换与变量获取# 工作窗口、frame等切换:swith_tod.switch_to.default_content() # 切换到默认页d.switch_to.frame('frame_name') # 切换到指定framed.switch_to.parent_frame() # 切换到父framed.switch_to.window('main') # 切换到主窗口# 保存操作,需要赋予变量存储source = d.page_source # 保存当前页面的源title = d.title # 保存当前页面titlehandlers = d.current_window_handle # 保存所有窗口句柄handler = d.current_window_handle # 保存当前窗口句柄outs = d.timeouts # 保存当前页面所有超时# swith_to 和保存操作结合element = d.switch_to.active_elementalert = d.switch_to.alertActionChains库

“Action库是selenium中提供模拟鼠标、键盘行为的库 。”

 库的导入和相关原则# 使用语句 from selenium.webdriver import ActionChains 导入外部动作驱动# d为上文定义的浏览器驱动,实例化得到浏览器外部动作驱动adad = ActionChains(d) # 行为链实例化,输入参数为驱动,ad.perform() # 行为开始执行的标识,必不可少!!!!!!# 行为链以队列形式保存,执行时顺序执行# perform()为行为链开始执行的标识# 行为链演示# 顺序执行:先点击,再输入,最后移动ad.click('点击的元素').send_keys('输入的元素').move_to_element('移动的目的地').perform()# 此模块的学习需要建立在元素定位的基础上,点击的元素均需要通过定位获取# 示例:单击通过id定位的元素A:1.定位 2.单击 3.执行A = d.find_element('id', '我是元素A的id标识') # 定位元素Aad = ActionChains(d) # 实例化外部动作驱动ad.click(A).perform() # 单击并执行# 其他:ad.send_keys('输入内容') # 对当前元素输入指定内容ad.send_keys_to_element('输入内容') # 对指定元素输入指定内容ad.reset_actions() # 重置行为,清除已有的行为 模拟鼠标# 模拟鼠标操作# 如果不传入参数则默认执行位置为鼠标当前坐标ad.click('单击的元素').perform() # 单击执行ad.double_click('双击的元素').perform() # 双击执行ad.context_click('点击的文本').perform() # 点击文本执行# 以下仅做语法讲解,没有perform表示不执行,实际应用需要在合适位置加performad.click_and_hold('单击并长按的元素') # 单击并长按ad.release('释放的元素') # 释放单击长按的元素ad.drag_and_drop('开始元素', '结束元素') # 鼠标左键滑动(按位置)ad.drag_and_drop_by_offset('开始元素', 'x坐标偏移量', 'y坐标偏移量') # 鼠标左键滑动(按偏移量)ad.scroll(3, 4, 30, 40) # 鼠标滚轮,参数依次为x起始坐标、y起始坐标、x坐标滚动量、y坐标滚动量模拟键盘# 组合键使用,通常一起出现,执行完动作后记得松开按键ad.key_down('按下的按键', '按下的位置')ad.key_up('松开的按键', '松开的位置')# 当使用按键时,通常会使用Keys库,通过语句 from selenium.webdriver import Keys 获取Keys库# 示例,在位置A,按下ctrl键,并松开ad.key_down(Keys.CONTROL, A)ad.key_up(Keys.CONTROL, A)# Keys库支持的按键类型详见下文# 不使用Keys库,也可通过字符串代替,按键对应字符串详见下文Keys库# 例如:# 在位置A按下ctrl# ad.key_down('\ue009', A) Keys库

“ 提供模拟键盘快捷输入,以及对应字符串代码供参考使用 。”

ADD = '\ue025'ALT = '\ue00a'ARROW_DOWN = '\ue015'ARROW_LEFT = '\ue012'ARROW_RIGHT = '\ue014'ARROW_UP = '\ue013'BACKSPACE = '\ue003'BACK_SPACE = '\ue003'CANCEL = '\ue001'CLEAR = '\ue005'COMMAND = '\ue03d'CONTROL = '\ue009'DECIMAL = '\ue028'DELETE = '\ue017'DIVIDE = '\ue029'DOWN = '\ue015'END = '\ue010'ENTER = '\ue007'EQUALS = '\ue019'ESCAPE = '\ue00c'F1 = '\ue031'F10 = '\ue03a'F11 = '\ue03b'F12 = '\ue03c'F2 = '\ue032'F3 = '\ue033'F4 = '\ue034'F5 = '\ue035'F6 = '\ue036'F7 = '\ue037'F8 = '\ue038'F9 = '\ue039'HELP = '\ue002'HOME = '\ue011'INSERT = '\ue016'LEFT = '\ue012'LEFT_ALT = '\ue00a'LEFT_CONTROL = '\ue009'LEFT_SHIFT = '\ue008'META = '\ue03d'MULTIPLY = '\ue024'NULL = '\ue000'NUMPAD0 = '\ue01a'NUMPAD1 = '\ue01b'NUMPAD2 = '\ue01c'NUMPAD3 = '\ue01d'NUMPAD4 = '\ue01e'NUMPAD5 = '\ue01f'NUMPAD6 = '\ue020'NUMPAD7 = '\ue021'NUMPAD8 = '\ue022'NUMPAD9 = '\ue023'PAGE_DOWN = '\ue00f'PAGE_UP = '\ue00e'PAUSE = '\ue00b'RETURN = '\ue006'RIGHT = '\ue014'SEMICOLON = '\ue018'SEPARATOR = '\ue026'SHIFT = '\ue008'SPACE = '\ue00d'SUBTRACT = '\ue027'TAB = '\ue004'UP = '\ue013'ZENKAKU_HANKAKU = '\ue040'
本文链接地址:https://www.jiuchutong.com/zhishi/299707.html 转载请保留说明!

上一篇:Cursor——ChatGPT的替代品【笔记】(chattr i)

下一篇:【JavaScript速成之路】一文带你初识JavaScript(javascript速成要多久)

  • excel如何快速插入多行(excel如何快速插图)

    excel如何快速插入多行(excel如何快速插图)

  • 微信通知栏显示wechat是什么意思

    微信通知栏显示wechat是什么意思

  • 乐心手环充电没反应(乐心手环充电没有反应)

    乐心手环充电没反应(乐心手环充电没有反应)

  • 纳米膜碎了怎么撕掉(纳米膜碎了怎么处理)

    纳米膜碎了怎么撕掉(纳米膜碎了怎么处理)

  • 360手机助手扫码功能在哪儿(360手机助手扫码连接不上)

    360手机助手扫码功能在哪儿(360手机助手扫码连接不上)

  • hr无人机和大疆的区别(大疆无人机与其他品牌无人机区别)

    hr无人机和大疆的区别(大疆无人机与其他品牌无人机区别)

  • 淘宝禁止发布的商品有(淘宝禁止发布商品到2999年)

    淘宝禁止发布的商品有(淘宝禁止发布商品到2999年)

  • 充电电流指示为0(充电电流指示为0是什么意思)

    充电电流指示为0(充电电流指示为0是什么意思)

  • 怎么设置禁止境外来电(怎么设置禁止境外来电移动)

    怎么设置禁止境外来电(怎么设置禁止境外来电移动)

  • 三星g9750是什么版(三星g9750是国行吗)

    三星g9750是什么版(三星g9750是国行吗)

  • 华为p30pro屏幕容易碎吗(华为p30pro屏占比多少)

    华为p30pro屏幕容易碎吗(华为p30pro屏占比多少)

  • 微信朋友圈为什么是空的(微信朋友圈为什么发不出去)

    微信朋友圈为什么是空的(微信朋友圈为什么发不出去)

  • 苹果6p反应慢怎么解决方法(苹果6p反应慢怎么办)

    苹果6p反应慢怎么解决方法(苹果6p反应慢怎么办)

  • ftth和fttb哪个网速快(ftth fttb区别)

    ftth和fttb哪个网速快(ftth fttb区别)

  • 手机号虚商可以永久使用吗(电话卡虚商号码能买吗)

    手机号虚商可以永久使用吗(电话卡虚商号码能买吗)

  • window中的桌面指的是(windows10的桌面指)

    window中的桌面指的是(windows10的桌面指)

  • 支付宝删了好友对方再加回来知道吗(支付宝删了好友还能看到蚂蚁森林吗)

    支付宝删了好友对方再加回来知道吗(支付宝删了好友还能看到蚂蚁森林吗)

  • 为什么手机电池显示黑色(为什么手机电池充到60%就充不进去了)

    为什么手机电池显示黑色(为什么手机电池充到60%就充不进去了)

  • 怎么下载秒懂百科里的视频(怎么下载秒懂百科)

    怎么下载秒懂百科里的视频(怎么下载秒懂百科)

  • vivov1730da是什么手机(vivo型号v1730da)

    vivov1730da是什么手机(vivo型号v1730da)

  • 手机短信没声音是怎么回事(oppo手机短信没有声音怎么设置)

    手机短信没声音是怎么回事(oppo手机短信没有声音怎么设置)

  • 苹果无线充电伤手机吗(苹果无线充电伤电池吗)

    苹果无线充电伤手机吗(苹果无线充电伤电池吗)

  • wps表格怎么查找全部(wps表格怎么查找重复数据)

    wps表格怎么查找全部(wps表格怎么查找重复数据)

  • 手机出现hd2怎么关闭(手机上出现hd2)

    手机出现hd2怎么关闭(手机上出现hd2)

  • 优酷视频停止运行怎么回事(优酷视频暂停后自动播放)

    优酷视频停止运行怎么回事(优酷视频暂停后自动播放)

  • 华为网盘在哪里打开(华为的网盘在什么地方)

    华为网盘在哪里打开(华为的网盘在什么地方)

  • 华为p30pro时间怎么设置24小时(华为p30pro时间怎么设置在桌面)

    华为p30pro时间怎么设置24小时(华为p30pro时间怎么设置在桌面)

  • 微信能隐藏联系人吗(微信可以隐藏联系人不)

    微信能隐藏联系人吗(微信可以隐藏联系人不)

  • 三大流转税包括哪些
  • 残疾人加计扣除政策文件
  • 税收优惠有哪些类型
  • 应收票据周转率高
  • 企业股权融资方式有
  • 公司结业清算后多久注销
  • 事业单位购入三年期国债的会计分录怎么做?
  • 工程发票是不是都要异地预缴
  • 产品成本计算的公式
  • 出售固定资产的税率是多少
  • 资本公积转增股本什么意思
  • 企业生产成本核算的一般程序为
  • 退休人员返聘工资交个人所得税标准
  • 利润表中企业所得税
  • 委外的加工费专用发票怎么开?
  • 社保和个税怎么个对应法
  • 处置固定资产增值税税率
  • 固定资产叉车卖出怎么开票
  • 销售费用中的运输费属于什么科目
  • 未承兑的商业汇票什么意思
  • 公司如何为员工缴纳社保
  • 高新技术企业研发人员学历要求
  • 公益性捐赠的个税
  • 小企业的费用应当在发生时计入当期损益
  • 吸收合并公司后的债务处理
  • 腾讯手游助手怎么卸载
  • 哪些抵押物必须登记才有效
  • 小规模纳税人增值税专用发票税率
  • php判断查询是否有结果
  • php glob
  • 政策性专项资金包括哪些
  • win11如何调整鼠标中键
  • 微软发布windows
  • 其他应付款转营业外收入摘要
  • react-use
  • 温哥华fdu是什么大学
  • 企业清算的会计科目
  • 工会经费和残保金的缴纳比例
  • 投资性房地产成本法转公允价值法
  • 开具负数发票的流程
  • es命令行
  • 进口设备退税如何计算
  • 应收利息的会计处理方法
  • 应收预收的区别
  • mysql自连接查询各个部门经理的工资
  • mongodb主从同步速度
  • 不良品扣款入什么科目
  • 出口货物做免税处理
  • 企业所得税季度预缴纳税申报表
  • 研发支出是
  • 职工旅游费用会计处理
  • 工程物资原材料在资产负债表哪个科目体现
  • 建筑行业会计怎么样,有前景吗
  • 房产税开征利好那些概念股 新闻
  • 应交税费借方余额填列资产负债表
  • 暂估固定资产的账务处理
  • 供应商奖惩制度具体办法
  • 用工资冲借款报税可以吗
  • sql语句的执行方式
  • macbookair断网
  • surface 优惠
  • winxp怎么做系统
  • 本地磁盘文件系统
  • centos怎么设置
  • linux系统简介
  • win8怎么关电脑
  • linux命令tee
  • w10自启
  • win7 64纯净版网页打开出现乱码该怎么办 解决方法介绍
  • win7开机每次都要输入用户名
  • EXTJS FORM HIDDEN TEXTFIELD 赋值 使用value不好用的问题
  • perl常用函数
  • shell脚本 -ne 0
  • angular 嵌入html
  • 关于中秋节的古诗
  • The method findViewById(int) is undefined for the type FragmentHome报错
  • 青岛市地方税务局网上办税厅
  • 内蒙古低保信息网
  • 软件开发交流平台
  • 湖北省人民代表大会常务委员会关于深入开展
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设