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实现抓取网页并且解析的实例
Sep 20 Python
python中黄金分割法实现方法
May 06 Python
python 打印出所有的对象/模块的属性(实例代码)
Sep 11 Python
一个基于flask的web应用诞生 bootstrap框架美化(3)
Apr 11 Python
python thrift搭建服务端和客户端测试程序
Jan 17 Python
Python标准库笔记struct模块的使用
Feb 22 Python
python中正则表达式的使用方法
Feb 25 Python
Python3.6.0+opencv3.3.0人脸检测示例
May 25 Python
python中join()方法介绍
Oct 11 Python
对python dataframe逻辑取值的方法详解
Jan 30 Python
Django ORM实现按天获取数据去重求和例子
May 18 Python
vscode+PyQt5安装详解步骤
Aug 12 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
浅谈web上存漏洞及原理分析、防范方法(安全文件上存方法)
2013/06/29 PHP
php数组转换js数组操作及json_encode的用法详解
2013/10/26 PHP
PDO::errorCode讲解
2019/01/28 PHP
Apache站点配置SSL强制跳转443
2021/03/09 Servers
怎样在JavaScript里写一个swing把数据插入数据库
2012/12/10 Javascript
目前流行的JavaScript库的介绍及对比
2013/09/29 Javascript
使用jquery实现仿百度自动补全特效
2015/07/23 Javascript
JS实现按比例缩放图片的方法(附C#版代码)
2015/12/08 Javascript
JQuery validate插件Remote用法大全
2016/05/15 Javascript
Google 地图API资料整理及详细介绍
2016/08/06 Javascript
jquery easyui validatebox remote的使用详解
2016/11/09 Javascript
深入理解jquery中的each用法
2016/12/14 Javascript
javascript循环链表之约瑟夫环的实现方法
2017/01/16 Javascript
node.js实现复制文本到剪切板的功能
2017/01/23 Javascript
小发现之浅谈location.search与location.hash的问题
2017/06/23 Javascript
node文件批量重命名的方法示例
2017/10/23 Javascript
基于nodejs实现微信支付功能
2017/12/20 NodeJs
使用vue-cli+webpack搭建vue开发环境的方法
2017/12/22 Javascript
Vue + better-scroll 实现移动端字母索引导航功能
2018/05/07 Javascript
node.js微信小程序配置消息推送的实现
2019/02/13 Javascript
vue 使用 canvas 实现手写电子签名
2020/03/06 Javascript
python教程之用py2exe将PY文件转成EXE文件
2014/06/12 Python
Python的面向对象思想分析
2015/01/14 Python
Python打包文件夹的方法小结(zip,tar,tar.gz等)
2016/09/18 Python
用pandas按列合并两个文件的实例
2018/04/12 Python
python 采用paramiko 远程执行命令及报错解决
2019/10/21 Python
python绘制规则网络图形实例
2019/12/09 Python
Python调用Windows命令打印文件
2020/02/07 Python
python numpy库linspace相同间隔采样的实现
2020/02/25 Python
keras中的History对象用法
2020/06/19 Python
秘鲁购物网站:Linio秘鲁
2017/04/07 全球购物
北美Newegg打造的全球尖货海购平台:tt海购
2018/09/28 全球购物
亿企通软件测试面试题
2012/04/10 面试题
创业者是否需要商业计划书?
2014/02/07 职场文书
摄影专业毕业生求职信
2014/08/05 职场文书
彻底卸载VMware虚拟机的超详细步骤记录
2022/07/15 Servers