自动化测试学习_selenium元素定位daythree

1、元素定位方式
1.1 By.ID

driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
driver.find_element(By.ID, "kw").send_keys("自动化")

1.2 By.NAME

driver.find_element(By.NAME, "wd").send_keys("自动化")

1.3 By.LINK_TEXT,链接文本

driver.find_element(By.LINK_TEXT, "新闻").click()

1.4 By.PARTIAL_LINK_TEXT,部分文本链接

driver.find_element(By.PARTIAL_LINK_TEXT, "新").click()

1.5 By.XPATH定位,分为五种
1.5.1 相对路径+索引定位

# 定位form模块第一个span标签下的input
driver.find_element(By.XPATH, "//form/span[1]/input")

1.5.2 相对路径+属性定位

driver.find_element(By.XPATH, "//[@autocomplete = 'off']")

1.5.3 相对路径+通配符定位,*是通配符,匹配所有属性值为off的属性

driver.find_element(By.XPATH, "//*[@* = 'off']")
driver.find_element(By.XPATH, "//*[@autocomplete = 'off']")

1.5.4 相对路径+部分属性值定位,属性要唯一

driver.find_element(By.XPATH, "//*[starts-with(@autocomplete.'ff')]")
driver.find_element(By.XPATH, "//*[substring(@autocomplete,2) = 'ff']")
driver.find_element(By.XPATH, "//*[contains(@autocomplete ,'ff')]")

1.5.5 相对路径+文本标签值定位

driver.find_element(By.XPATH, "//span[text() = '按图片搜索']")

2、定位框架
2.1 定位菜单栏时,如果有框架,则需要切换框架切换框架(frame:框架,iframe:子框架)

driver.switch_to.frame("框架名”)

出框架:

driver.switch_to.default_content()

2.2 下拉框处理,select 定位
2.2.1 通过value定位

sel = Select ( driver.find_element(By.NAME,"cat_id")
sel.select_by_value("4")

2.2.2 通过文本定位

2.3 增加元素
2.4 删除元素
判断:获取数据列表

if len(del_button_list)> 0:
	del_button_list[0].click()
else:
	print("没有可以删除的数据“)

3、处理弹窗
3.1 处理alert
3.2 处理prompt()
3.3 处理confirm

ale = driver.switch_to.alert
time.sleep(3)
#取消
ale .dismiss()
#确定
ale.accept()

5、上传图片(附件 处理)

driver.find_element(By.NAME,"图片名“).send_keys(r"图片路径”)

6、断言
self.assertEqual()
self.assrtTrue()
self.assertIn()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值