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 相关文章推荐
Python3 入门教程 简单但比较不错
Nov 29 Python
python数据结构之二叉树的统计与转换实例
Apr 29 Python
python开发之tkinter实现图形随鼠标移动的方法
Nov 11 Python
Python 爬虫学习笔记之多线程爬虫
Sep 21 Python
Python实现的简单dns查询功能示例
May 24 Python
Python使用回溯法子集树模板解决爬楼梯问题示例
Sep 08 Python
Python中对象的引用与复制代码示例
Dec 04 Python
用TensorFlow实现lasso回归和岭回归算法的示例
May 02 Python
Python大数据之网络爬虫的post请求、get请求区别实例分析
Nov 16 Python
python Opencv计算图像相似度过程解析
Dec 03 Python
python 消除 futureWarning问题的解决
Dec 25 Python
Python3 xml.etree.ElementTree支持的XPath语法详解
Mar 06 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判断浏览器的类型和语言的函数代码
2013/02/28 PHP
php多文件上传功能实现原理及代码
2013/04/18 PHP
zend framework文件上传功能实例代码
2013/12/25 PHP
php中实现xml与mysql数据相互转换的方法
2014/12/25 PHP
php导入excel文件到mysql数据库的方法
2015/01/14 PHP
mac os快速切换多个PHP版本的方法
2017/03/07 PHP
thinkPHP框架乐观锁和悲观锁实例分析
2019/10/30 PHP
用javascript实现计算两个日期的间隔天数
2007/08/14 Javascript
jquery插件jbox使用iframe关闭问题
2009/02/09 Javascript
javascript 清除输入框中的数据
2009/04/13 Javascript
COM中获取JavaScript数组大小的代码
2009/11/22 Javascript
javascript中HTMLDOM操作详解
2014/12/11 Javascript
Javascript的表单与验证-非空验证
2016/03/18 Javascript
基于angular中的重要指令详解($eval,$parse和$compile)
2016/10/21 Javascript
BootStrap实现响应式布局导航栏折叠隐藏效果(在小屏幕、手机屏幕浏览时自动折叠隐藏)
2016/11/30 Javascript
css和js实现弹出登录居中界面完整代码
2017/11/26 Javascript
通过一次报错详细谈谈Point事件
2018/05/17 Javascript
Python常用知识点汇总
2016/05/08 Python
Python的Flask框架及Nginx实现静态文件访问限制功能
2016/06/27 Python
Python爬虫通过替换http request header来欺骗浏览器实现登录功能
2018/01/07 Python
python书籍信息爬虫实例
2018/03/19 Python
Python操作配置文件ini的三种方法讲解
2019/02/22 Python
python实现回旋矩阵方式(旋转矩阵)
2019/12/04 Python
TensorBoard 计算图的可视化实现
2020/02/15 Python
Python爬虫如何应对Cloudflare邮箱加密
2020/06/24 Python
有关pycharm登录github时有的时候会报错connection reset的问题
2020/09/15 Python
linux centos 7.x 安装 python3.x 替换 python2.x的过程解析
2020/12/14 Python
python Scrapy爬虫框架的使用
2021/01/21 Python
css3实现的下拉菜单效果示例
2014/01/22 HTML / CSS
印尼网上商店:Alfacart.com
2019/03/11 全球购物
MIS软件工程师的面试题
2016/04/22 面试题
党建工作整改措施
2014/10/28 职场文书
2016大学生社会实践心得体会范文
2016/01/14 职场文书
Vue中插槽slot的使用方法与应用场景详析
2021/06/08 Vue.js
python数据可视化使用pyfinance分析证券收益示例详解
2021/11/20 Python
python使用pycharm安装pyqt5以及相关配置
2022/04/22 Python