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判断字符串编码的简单实现方法(使用chardet)
Jul 01 Python
python数据结构之列表和元组的详解
Sep 23 Python
Python2实现的图片文本识别功能详解
Jul 11 Python
浅谈python中拼接路径os.path.join斜杠的问题
Oct 23 Python
python删除列表元素的三种方法(remove,pop,del)
Jul 22 Python
用Python批量把文件复制到另一个文件夹的实现方法
Aug 16 Python
Python对接支付宝支付自实现功能
Oct 10 Python
利用pyshp包给shapefile文件添加字段的实例
Dec 06 Python
python路径的写法及目录的获取方式
Dec 26 Python
在keras中获取某一层上的feature map实例
Jan 24 Python
python使用梯度下降算法实现一个多线性回归
Mar 24 Python
Python基础教程(一)——Windows搭建开发Python开发环境
Jul 20 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
Ha0k 0.3 PHP 网页木马修改版
2009/10/11 PHP
如何使用Linux的Crontab定时执行PHP脚本的方法
2011/12/19 PHP
php生成二维码的几种方式整理及使用实例
2013/06/03 PHP
php实现在服务器上创建目录的方法
2015/03/16 PHP
jQuery去掉字符串起始和结尾的空格(多种方法实现)
2013/04/01 Javascript
js实现在页面上弹出蒙板技巧简单实用
2013/04/16 Javascript
在jquery中的ajax方法怎样通过JSONP进行远程调用
2014/04/04 Javascript
jquery单行文字向上滚动效果的实现代码
2014/09/05 Javascript
JavaScript中Cookie操作实例
2015/01/09 Javascript
JavaScript实现判断图片是否加载完成的3种方法整理
2015/03/13 Javascript
js实现延迟加载的方法
2015/06/24 Javascript
JS实现的自定义右键菜单实例二则
2015/09/01 Javascript
跟我学习javascript的隐式强制转换
2015/11/16 Javascript
BootStrap网页中代码显示用法详解
2016/10/21 Javascript
JavaScript生成指定范围随机数和随机序列的方法
2018/05/05 Javascript
Vue路由守卫之路由独享守卫
2019/09/25 Javascript
浅谈v-for 和 v-if 并用时筛选条件方法
2019/11/07 Javascript
简单谈谈python中的多进程
2016/11/06 Python
python中关于数据类型的学习笔记
2020/07/19 Python
Python批量修改xml的坐标值全部转为整数的实例代码
2020/11/26 Python
Html5游戏开发之乒乓Ping Pong游戏示例(一)
2013/01/21 HTML / CSS
利用HTML5 Canvas制作一个简单的打飞机游戏
2015/05/11 HTML / CSS
html5表单及新增的改良元素详解
2016/06/07 HTML / CSS
攀岩、滑雪、徒步旅行装备:Black Diamond Equipment
2019/08/16 全球购物
荷兰网上药店:Drogisterij.net
2019/09/03 全球购物
财务分析个人的自荐书范文
2013/11/24 职场文书
初中化学教学反思
2014/01/23 职场文书
学期评语大全
2014/04/30 职场文书
关于学习的演讲稿
2014/05/10 职场文书
支部书记四风问题自我剖析材料
2014/09/29 职场文书
大学迎新生标语
2014/10/06 职场文书
家庭财产分割协议范文
2014/11/24 职场文书
致地震灾区的慰问信
2015/03/23 职场文书
看古人们是如何赞美老师的?
2019/07/08 职场文书
基于MySql验证的vsftpd虚拟用户
2021/11/07 MySQL
MySQL数据库安装方法与图形化管理工具介绍
2022/05/30 MySQL