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实现的简单算术游戏实例
May 26 Python
Python实现随机选择元素功能
Sep 14 Python
Python排序搜索基本算法之希尔排序实例分析
Dec 09 Python
使用Django2快速开发Web项目的详细步骤
Jan 06 Python
Python终端输出彩色字符方法详解
Feb 11 Python
python列表切片和嵌套列表取值操作详解
Feb 27 Python
GDAL 矢量属性数据修改方式(python)
Mar 10 Python
Python如何操作office实现自动化及win32com.client的运用
Apr 01 Python
Django 设置admin后台表和App(应用)为中文名的操作方法
May 10 Python
基于django2.2连oracle11g解决版本冲突的问题
Jul 02 Python
opencv 图像加法与图像融合的实现代码
Jul 08 Python
Python max函数中key的用法及原理解析
Jun 26 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
虹吸式咖啡探讨–研磨
2021/03/03 冲泡冲煮
CodeIgniter CLI模式简介
2014/06/17 PHP
一段实用的php验证码函数
2016/05/19 PHP
php ajax数据传输和响应方法
2018/08/21 PHP
不错的新闻标题颜色效果
2006/12/10 Javascript
jQuery输入城市查看地图使用介绍
2013/05/08 Javascript
JS实现表格数据各种搜索功能的方法
2015/03/03 Javascript
JS Array创建及concat()split()slice()的使用方法
2016/06/03 Javascript
jQuery+HTML5+CSS3制作支持响应式布局时间轴插件
2016/08/10 Javascript
微信小程序 picker 组件详解及简单实例
2017/01/10 Javascript
webpack处理 css\less\sass 样式的方法
2017/08/21 Javascript
hammer.js实现图片手势放大效果
2017/08/29 Javascript
利用Javascript实现一套自定义事件机制
2017/12/14 Javascript
如何基于JavaScript判断图片是否加载完成
2019/12/28 Javascript
Python collections模块实例讲解
2014/04/07 Python
Python实现删除时保留特定文件夹和文件的示例
2018/04/27 Python
Python自定义函数实现求两个数最大公约数、最小公倍数示例
2018/05/21 Python
python对离散变量的one-hot编码方法
2018/07/11 Python
详解通过API管理或定制开发ECS实例
2018/09/30 Python
python实现键盘控制鼠标移动
2020/11/27 Python
Python 判断奇数偶数的方法
2018/12/20 Python
Python使用到第三方库PyMuPDF图片与pdf相互转换
2019/05/03 Python
通过实例解析Python RPC实现原理及方法
2020/07/07 Python
Paper Cape官网:美国婴儿和儿童服装品牌
2019/11/02 全球购物
信息部岗位职责
2013/11/12 职场文书
数控专业大学生的自我鉴定
2013/11/13 职场文书
终端业务员岗位职责
2013/11/27 职场文书
护理专业大学生自我推荐信
2014/01/25 职场文书
吃空饷专项治理工作实施方案
2014/03/04 职场文书
2014年圣诞节促销方案
2014/03/14 职场文书
公积金接收函格式
2015/01/30 职场文书
2016年高校自主招生自荐信范文
2015/03/24 职场文书
2015年银行大堂经理工作总结
2015/04/24 职场文书
销售合作意向书范本
2015/05/08 职场文书
Nginx 502 Bad Gateway错误原因及解决方案
2021/03/31 Servers
MySQL提取JSON字段数据实现查询
2022/04/22 MySQL