python-web根据元素属性进行定位的方法


Posted in Python onDecember 13, 2019

1. 根据属性ID值进行定位

def test_find_element_by_id(self):
  # 定位搜索文本框
  search_input = self.driver.find_element_by_id("kw")
  # 输入关键字
  search_input.send_keys("马云")
  # 定位搜索按钮
  search_button = self.driver.find_element_by_id("su")
  # 点击搜索按钮
  search_button.click()
  # 喘口气
  time.sleep(2)
  # 断言结果
  actual_result = self.driver.page_source
  expect_result = "马云"
  self.assertIn(expect_result, actual_result)

2. 根据属性CLASS值进行定位

def test_find_element_by_class_name(self):
  # 定位搜索文本框
  search_input = self.driver.find_element_by_class_name("s_ipt")
  # 输入关键字
  search_input.send_keys("奥巴马")
  # 定位搜索按钮
  search_button = self.driver.find_element_by_id("su")
  # 点击搜索按钮
  search_button.click()
  # 喘口气
  time.sleep(2)
  # 断言结果
  actual_result = self.driver.page_source
  expect_result = "奥巴马"
  self.assertIn(expect_result, actual_result)

3. 根据属性NAME值进行定位

def test_find_element_by_name(self):
  # 定位搜索文本框
  search_input = self.driver.find_element_by_name("wd")
  # 输入关键字
  search_input.send_keys("特朗普")
  # 定位搜索按钮
  search_button = self.driver.find_element_by_id("su")
  # 点击搜索按钮
  search_button.click()
  # 喘口气
  time.sleep(2)
  # 断言结果
  actual_result = self.driver.page_source
  expect_result = "特朗普"
  self.assertIn(expect_result, actual_result)

4. 根据标签名称进行定位

5. 根据链接全部内容进行定位

6. 根据链接部分内容进行定位

def test_find_element_by_tag_name(self):
  # 定位搜索文本框
  search_input = self.driver.find_element_by_class_name("s_ipt")
  # 输入关键字
  search_input.send_keys("马化腾")
  # 定位搜索按钮
  search_button = self.driver.find_element_by_id("su")
  # 点击搜索按钮
  search_button.click()
  # 喘口气
  time.sleep(2)
  # 获取页面的返回结果
  # tag_names = self.driver.find_elements_by_tag_name("h3")
  # for tag_name in tag_names:
  #   print(tag_name.text)
  #   # 通过链接的文本信息进行定位
  #   link_text = self.driver.find_element_by_link_text(tag_name.text)
  #   # 对百度的结果依次进行点击
  #   link_text.click()
  # 根据部分链接文字进行定位
  pony_infos = self.driver.find_elements_by_partial_link_text("马化腾")
  for pony_info in pony_infos:
    # 依次打印每个元素的文本信息
    print(pony_info.text)
  # 断言结果
  actual_result = self.driver.page_source
  expect_result = "马化腾"
  self.assertIn(expect_result, actual_result)

7. 根据xpath进行定位

def test_find_element_by_xpath(self):
  # 找到搜索输入框
  # search_input = self.driver.find_element_by_xpath('/html/body/div[@id="wrapper"]/div[@id="head"]/div[@class="head_wrapper"]/div[@class="s_form"]/div[@class="s_form_wrapper soutu-env-nomac soutu-env-index"]/form[@class="fm"][@id="form"]/span[@class="bg s_ipt_wr quickdelete-wrap"]/input[@id="kw"][@class="a_ipt"]')
  search_input = self.driver.find_element_by_xpath('//*[@id="kw"]')
  # 输入关键字
  search_input.send_keys("天黑请闭眼")
  # 找到搜索按钮
  # search_button = self.driver.find_element_by_xpath('/html/body/div[@id="wrapper"]/div[@id="head"]/div[@class="head_wrapper"]/div[@class="s_form"]/div[@class="s_form_wrapper soutu-env-nomac soutu-env-index"]/form[@class="fm"][@id="form"]/span[@class="bg s_btn_wr"/input[@id="su"][@class="bg s_btn"]')
  search_button = self.driver.find_element_by_xpath('//*[@id="su"]')
  # 点击搜素按钮
  search_button.click()
  # 喘口气
  time.sleep(1)
  # 断言结果
  expect_value = "天黑请闭眼"
  actual_value = self.driver.page_source
  self.assertIn(expect_value,actual_value)

8. 根据css选择器进行定位

def test_find_element_by_css_selector(self):
  # search_input = self.driver.find_element_by_css_selector("#kw")
  search_input = self.driver.find_element_by_css_selector("input#kw")
  search_input.send_keys("狼人杀")
  search_button = self.driver.find_element_by_css_selector("input.bg.s_btn")
  search_button.click()
  # 喘口气
  time.sleep(1)
  # 断言结果
  expect_value = "狼人杀"
  actual_value = self.driver.page_source
  self.assertIn(expect_value, actual_value)

总结

以上所述是小编给大家介绍的python-web根据元素属性进行定位的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
python logging类库使用例子
Nov 22 Python
Python实现的简单模板引擎功能示例
Sep 02 Python
Django admin实现图书管理系统菜鸟级教程完整实例
Dec 12 Python
Selenium鼠标与键盘事件常用操作方法示例
Aug 13 Python
对python中的 os.mkdir和os.mkdirs详解
Oct 16 Python
python二维码操作:对QRCode和MyQR入门详解
Jun 24 Python
Django使用中间键实现csrf认证详解
Jul 22 Python
django基于cors解决跨域请求问题详解
Aug 06 Python
python爬虫实现获取下一页代码
Mar 13 Python
python shapely.geometry.polygon任意两个四边形的IOU计算实例
Apr 12 Python
Python爬虫实例——scrapy框架爬取拉勾网招聘信息
Jul 14 Python
Python离线安装openpyxl模块的步骤
Mar 30 Python
python Jupyter运行时间实例过程解析
Dec 13 #Python
Python time库基本使用方法分析
Dec 13 #Python
使用python 将图片复制到系统剪贴中
Dec 13 #Python
Python中使用gflags实例及原理解析
Dec 13 #Python
使用Python进行防病毒免杀解析
Dec 13 #Python
python 使用shutil复制图片的例子
Dec 13 #Python
基于python traceback实现异常的获取与处理
Dec 13 #Python
You might like
发布一个迷你php+AJAX聊天程序[聊天室]提供下载
2007/07/21 PHP
php 面试碰到过的问题 在此做下记录
2011/06/09 PHP
Laravel框架数据库CURD操作、连贯操作总结
2014/09/03 PHP
什么是OneThink oneThink后台添加插件步骤
2016/04/13 PHP
Jquery replace 字符替换实现代码
2010/12/02 Javascript
jQuery循环滚动展示代码 可应用到文字和图片上
2012/05/11 Javascript
jQuery使用after()方法在元素后面添加多项内容的方法
2015/03/26 Javascript
javascript 闭包详解
2015/07/02 Javascript
vue实现某元素吸顶或固定位置显示(监听滚动事件)
2017/12/13 Javascript
详解vuex中mapState,mapGetters,mapMutations,mapActions的作用
2018/04/13 Javascript
小试SVG之新手小白入门教程
2019/01/08 Javascript
JS实现继承的几种常用方式示例
2019/06/22 Javascript
解决$store.getters调用不执行的问题
2019/11/08 Javascript
JavaScript实现动态留言板
2020/03/16 Javascript
javascript中contains是否包含功能实现代码(扩展字符、数组、dom)
2020/04/07 Javascript
javascript实现前端成语点击验证
2020/06/24 Javascript
原生js实现下拉框选择组件
2021/01/20 Javascript
python地震数据可视化详解
2019/06/18 Python
新手如何发布Python项目开源包过程详解
2019/07/11 Python
python怎么提高计算速度
2020/06/11 Python
无惧面试,带你搞懂python 装饰器
2020/08/17 Python
什么是CSS3 HSLA色彩模式?HSLA模拟渐变色条
2016/04/26 HTML / CSS
美国知名平价彩妆品牌:e.l.f. Cosmetics
2017/11/20 全球购物
L*SPACE官网:比基尼、泳装和度假服装
2019/03/18 全球购物
真正的英国宝藏:Mappin & Webb
2019/05/05 全球购物
智能室内花园:Click & Grow
2021/01/29 全球购物
10条PHP编程习惯
2014/05/26 面试题
linux比较文件内容的命令是什么
2015/09/23 面试题
感恩寄语大全
2014/04/11 职场文书
入股协议书范本
2014/04/14 职场文书
教师党员岗位承诺书
2014/05/29 职场文书
乒乓球兴趣小组活动总结
2014/07/08 职场文书
小学生志愿者活动方案
2014/08/23 职场文书
新闻通讯稿模板
2015/07/22 职场文书
Java中常用解析工具jackson及fastjson的使用
2021/06/28 Java/Android
python 判断文件或文件夹是否存在
2022/03/18 Python