分享好友 最新动态首页 最新动态分类 切换频道
webUI自动化之元素及浏览器操作_ui自动化怎么打开一个网页链接(2)
2024-12-26 11:14

7 driver.get(r’https://xxx’) # 打开浏览器并访问该链接,这里的链接不便展示哈
8 driver.maximize_window()
9
10 # 定位元素并操作
11 driver.find_element(By.NAME, ‘username’).send_keys(‘v-luoyang’)
12 driver.find_element(By.NAME, ‘password’).send_keys(‘12456’)
13 btn = driver.find_element(By.CLASS_NAME, ‘el-button’)
14
15 ActionChains(driver).click(btn).perform() # 单击 btn 元素,更多方法参见 ActionChains 的源码,说的非常清楚
16
17
18 # 关闭并退出浏览器
19 driver.quit()

webUI自动化之元素及浏览器操作_ui自动化怎么打开一个网页链接(2)

2、键盘事件

模拟键盘操作,需先引入 Keys 模块,再使用send_keys方法,具体使用如下

1 from time import sleep
2 from selenium import webdriver
3 from selenium.webdriver.common.by import By
4 from selenium.webdriver.common.keys import Keys
5
6 driver = webdriver.Chrome()
7 driver.get(r’https://xxx/') # 打开浏览器并访问该链接,这里的链接不便展示哈
8 driver.maximize_window()
9
10 # 定位元素
11 user_ele = driver.find_element(By.NAME, ‘username’)
12 pwd_ele = driver.find_element(By.NAME, ‘password’)
13
14 user_ele.send_keys(‘v-luoyang’) # 输入值
15 user_ele.send_keys(Keys.CONTROL, ‘a’) # 全选
16 user_ele.send_keys(Keys.DELETE) # 删除
17 user_ele.send_keys(Keys.ENTER) # 回车
18
19 btn = driver.find_element(By.CLASS_NAME, ‘el-button’)
20 btn.click()
21
22
23 # 关闭并退出浏览器
24 #driver.quit()

更多的支持的键盘符号可在Keys里查看

三、浏览器操作

1 from selenium import webdriver
2
3 driver = webdriver.Chrome() # 获取浏览器对象
4 driver.get(r’https://gad.dev.ztgame.com/‘) # 打开浏览器并访问该链接,这里的链接不便展示哈
5 driver.get(r’https://gad.dev.ztgame.com/#/creative/material’) # 进入其他链接
6 driver.maximize_window() # 浏览器窗口最大化
7 driver.set_window_size(width=480, height=800) # 设置浏览器的宽高
8 name = driver.name # 获得浏览器名称
9 driver.forward() # 前进
10 driver.back() # 后退
11 driver.refresh() # 刷新
12 current_handle = driver.current_window_handle # 获取当前窗口句柄,即获取当前浏览器当前窗口的编号
13 all_handles = driver.window_handles # 获取当前浏览器所有窗口的句柄(当前浏览器指通过上面 get() 方法打开的浏览器
14 driver.switch_to_window(‘句柄’) # 切换当前窗口为指定的句柄的窗口
15 current_url = driver.current_url # 获取当前窗口的url
16 title = driver.title # 获取当前窗口的标题
17 page = driver.page_source # 获取当前窗口的源码
18 driver.get_screenshot_as_file(‘截图保存路径’) # 窗口截图,保存至指定的路径
19
20 driver.close() # 关闭当前窗口
21 driver.quit() # 关闭所有窗口并退出浏览器

四、等待

1、sleep()

sleep(3),强制等待,无论程序是否加载完成,必须等待3s,常用于调试,在元素定位莫名定位不到的时候用它也许可以解决问题

2、隐式等待

driver.implicitly_wait(30)   # 隐性等待,最长等30秒

相当于设置了一个最长等待时间,若在规定时间内找到则执行下一步,未找到则抛出NoSuchElementException;它的作用域是全局的,跟driver的生命周期相同,一般定义在父类中,用于给所有子类的页面元素设置该等待机制,设置一次,全局有效,直到 driver 实例被关闭。

3、显式等待

显式等待一般搭配 until() 方法使用,意为直到规定时间内定位到该元素,例

WebDriverWait(driver, 20, 0.5).until(EC.presence_of_element_located(locator))    # locator 如 locator = (By.ID, ‘username’)

PS:这里用到了 WebDriverWait 类与 expected_conditions 模块,这里借用一下另一个博客的(他的博客地址

①WebDriverWait 类里主要有两个方法和一个 init 方法,具体用处可以看源码,但官方话看得我是头昏脑胀,还是看一些比较容易懂的

init,参数如下

1 driver: 传入WebDriver实例,即我们上例中的driver
2 timeout: 超时时间,等待的最长时间(同时要考虑隐性等待时间
3 poll_frequency: 调用until或until_not中的方法的间隔时间,默认是0.5秒
4 ignored_exceptions: 忽略的异常,如果在调用until或until_not的过程中抛出这个元组中的异常,则不中断代码,继续等待,如果抛出的是这个元组外的异常,则中断代码,抛出异常。默认只有NoSuchElementException。

until,参数如下

1 method: 在等待期间,每隔一段时间(__init__中的poll_frequency)调用这个传入的方法,直到返回值不是False 2 message: 如果超时,抛出TimeoutException,将message传入异常

until_not 与 until 相反。

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数软件测试工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上软件测试开发知识点,真正体系化

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导,让我们一起学习成长

4b (备注软件测试)**
[外链图片转存中…(img-oWARVlSH-1712719807768)]

最新文章
2.天使爱美丽 Le fabuleux destin d'Amélie Poulain (2001)
小编的端午假期选择了延后休息,毕竟生活中最重要的不就是加班嘛!可人算不如天算,休息日恰巧赶上了连绵的阴雨天儿,所有的计划都被打乱了,最后只能选择沙发刷剧。不过几日下来收获也是颇丰的,一部好的影视作品,不仅能让观影者领略到美
Android-悬浮窗功能的实现(附Java、KT实现源码)(1)
最后 很多程序员,整天沉浸在业务代码的 CRUD 中,业务中没有大量数据做并发,缺少实战经验,对并发仅仅停留在了解,做不到精通,所以总是与大厂擦肩而过。 我把私藏的这套并发体系的笔记和思维脑图分
2022不花钱的手游有哪些 耐玩不氪金的手游推荐
不花钱的一般有两种,分别是免费下载的和对平民比较好不怎么氪金的,那下面就讲讲2022不花钱的手游有哪些以及耐玩不氪金的手游推荐,如果你是一名平民玩家,那一定不容错过这次的内容哦。 1、《大战国》 这里是一个非常宏大的三国战场,在
2024年,中国AI应用“大盘点”|产业AI
如今,AI应用究竟行至何处? 通用型、工具型、行业型、硬件型都有哪些?为此,产业家对国内主流AI应用做了一些盘点与梳理。希望在洞察行业前沿趋势的同时,也为把握未来的AI应用格局提供一个重要窗口。作者|斗斗编辑|皮爷出品|产业家“猛增
2024-2029年中国玄武岩纤维增强复合材料(BFRP)行业市场前瞻与投资战略规划分析报告
权威数据来源一手调研资料调研方法直接观察法(实地走访、网络观察)访谈调查法(个别面访、集体面访、电话访谈、视频访谈、小组座谈)问券调查法(在线问券、电子邮件问券、入户分发等)会议调查法(参加博览会、展览会、高峰论坛、研修会
Excel中如何设置自动排序功能以提高数据处理效率
在Excel菜单栏中,点击“数据”选项卡。在“排序和筛选”组中,选择“排序”。在弹出的“排序”对话框中,选择要排序的列,并选择排序方式(升序或降序)。点击“确定”完成排序。1.3 多列排序 (Sorting by Multiple Columns)如果需要根据
ebay旺季是什么时候,怎么有效备战旺季
电商平台都有属于自己的淡季和旺季,eBay平台也不例外,对于平台上的卖家朋友们来说,肯定都想要趁着旺季的时候,可以获得更多的销量,接下来一起去了解一下ebay旺季是什么时候?10-12则是旺季,主要世界上很多国家都过圣诞节,需求量自然
3.8年前的腾讯,是一个以“抄袭”和“霸权”闻名于世的腾讯。
5月24日消息,近日,差评收获腾讯3000万投资,引起了很多媒体人的批评,差评还被指多次洗稿。针对此事,总监张军在回应称,腾讯内容平台,会支持原创;也让大家不要以一个团队的一次决策来断定为腾讯立场;并且差评不会在平台上获得任何特
2024南宁市公立医院能做试管婴儿吗,费用大概要多少?
南宁市当地的试管平均费用在5万元左右,另外要看患者选择的是第几代试管,一代试管婴儿大概4万元左右,二代试管婴儿大概4-5万元,三代试管婴儿大概6-10万元,当然具体价格与患者的身体状况,医院等都有关系,价格会有变动,而公立医院收费
AI智能写作:开启自动化创作新纪元
### AI智能写作:开启自动化创作新纪元在21世纪的科技洪流中,人工智能(AI)以其无与伦比的学习能力和创新潜力,正逐步渗透并重塑着各行各业其中,文学创作这一自古以来依赖人类情感与智慧的领域,也迎来了前所未有的变革——AI智能写作技
相关文章
推荐文章
发表评论
0评