该类方法已经过时,新的方法如下:
element = driver.find_element(By.ID, ‘’) # 用元素的 ID 属性定位
element = driver.find_element(By.CLASS_NAME, ‘’) # 用元素的 CLASS_NAME 属性定位
element = driver.find_element(By.NAME, ‘’) # 用元素的 NAME 属性定位
element = driver.find_element(By.LINK_TEXT, ‘’) # 用元素的 LINK_TEXT(链接文本) 定位
element = driver.find_element(By.PARTIAL_LINK_TEXT, ‘’) # 用元素的 LINK_TEXT(链接文本,部分匹配) 定位
element = driver.find_element(By.TAG_NAME, ‘’) # 用元素的 TAG_NAME(标签名) 定位
element = driver.find_element(By.CSS_SELECTOR, ‘’) # 用元素的 CSS选择器 定位,这个可以先去了解一下CSS选择的用法,也可以不用,F12可直接复制当前元素的 css属性 值
element = driver.find_element(By.XPATH, ‘’) # 用元素的 XPATH路径 定位,这个也可以去了解一下XPATH的语法,也可以不用,F12可直接复制当前元素的 xpath 路径
class By如下:
扩展:
二、鼠标及键盘事件
1、鼠标事件
模拟鼠标操作,需先引入 ActionChains 类,具体用法如下:
1 from time import sleep
2 from selenium import webdriver
3 from selenium.webdriver.common.by import By
4 from selenium.webdriver.common.action_chains import ActionChains # 引入
5
6 driver = webdriver.Chrome()
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()
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() # 关闭所有窗口并退出浏览器
四、等待
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数软件测试工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上软件测试开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注软件测试)
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
4b (备注软件测试)**
[外链图片转存中…(img-OzvbO1wu-1712719837954)]
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!