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爬取拉勾网职位数据的方法
Jan 24 Python
Python2.7.10以上pip更新及其他包的安装教程
Jun 12 Python
Django 限制用户访问频率的中间件的实现
Aug 23 Python
Django中的ajax请求
Oct 19 Python
Python3 venv搭建轻量级虚拟环境的步骤(图文)
Aug 09 Python
python Qt5实现窗体跟踪鼠标移动
Dec 13 Python
Python安装whl文件过程图解
Feb 18 Python
Python 实现日志同时输出到屏幕和文件
Feb 19 Python
Python3使用xlrd、xlwt处理Excel方法数据
Feb 28 Python
Python命名空间namespace及作用域原理解析
Jun 05 Python
详解Python 中的容器 collections
Aug 17 Python
Python实现列表索引批量删除的5种方法
Nov 16 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
Pain 全世界最小最简单的PHP模板引擎 (普通版)
2011/10/23 PHP
通过PHP修改Linux或Unix口令的方法分享
2012/01/30 PHP
php检测iis环境是否支持htaccess的方法
2014/02/18 PHP
php中ftp_chdir与ftp_cdup函数用法
2014/11/18 PHP
php 解析xml 的四种方法详细介绍
2016/10/26 PHP
yii2.0整合阿里云oss上传单个文件的示例
2017/09/19 PHP
PHP中上传文件打印错误错误类型分析
2019/04/14 PHP
如何将一个String和多个String值进行比较思路分析
2013/04/22 Javascript
node.js中的fs.rename方法使用说明
2014/12/16 Javascript
AngularJS执行流程详解
2017/02/17 Javascript
jQuery 表单序列化实例代码
2017/06/11 jQuery
mint-ui在vue中的使用示例
2018/04/05 Javascript
详解JS函数stack size计算方法
2018/06/18 Javascript
vue 刷新之后 嵌套路由不变 重新渲染页面的方法
2018/09/13 Javascript
Angular实现svg和png图片下载实现
2019/05/05 Javascript
vue控制多行文字展开收起的实现示例
2019/10/11 Javascript
js正则表达式简单校验方法
2021/01/03 Javascript
基于JavaScript实现简单的轮播图
2021/03/03 Javascript
Python连接mssql数据库编码问题解决方法
2015/01/01 Python
通过数据库对Django进行删除字段和删除模型的操作
2015/07/21 Python
python 打印对象的所有属性值的方法
2016/09/11 Python
Python通过属性手段实现只允许调用一次的示例讲解
2018/04/21 Python
在Pycharm中自动添加时间日期作者等信息的方法
2019/01/16 Python
解决python 3 urllib 没有 urlencode 属性的问题
2019/08/22 Python
python装饰器代替set get方法实例
2019/12/19 Python
浅析Python3 pip换源问题
2020/01/06 Python
Python利用matplotlib绘制散点图的新手教程
2020/11/05 Python
国际礼品店:GiftsnIdeas
2018/05/03 全球购物
荷兰天然和有机产品网上商城:BigGreenSmile.nl
2020/07/26 全球购物
采购员岗位职责
2013/11/15 职场文书
自荐信封面
2013/12/04 职场文书
小溪流的歌教学反思
2014/02/13 职场文书
财务部总监岗位职责
2014/03/12 职场文书
专业见习报告范文
2014/11/03 职场文书
交通安全教育主题班会
2015/08/12 职场文书
小学教代会开幕词
2016/03/04 职场文书