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实现KNN分类算法
Dec 22 Python
Python编程scoketServer实现多线程同步实例代码
Jan 29 Python
Python实现按当前日期(年、月、日)创建多级目录的方法
Apr 26 Python
python+opencv实现阈值分割
Dec 26 Python
浅谈Python中的可迭代对象、迭代器、For循环工作机制、生成器
Mar 11 Python
python实现微信每日一句自动发送给喜欢的人
Apr 29 Python
pyqt5 lineEdit设置密码隐藏,删除lineEdit已输入的内容等属性方法
Jun 24 Python
Python爬取智联招聘数据分析师岗位相关信息的方法
Aug 13 Python
PYTHON绘制雷达图代码实例
Oct 15 Python
python飞机大战pygame碰撞检测实现方法分析
Dec 17 Python
Keras搭建自编码器操作
Jul 03 Python
python中count函数知识点浅析
Dec 17 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
apache+php完美解决301重定向的两种方法
2011/06/08 PHP
php采用file_get_contents代替使用curl实例
2014/11/07 PHP
php利用scws实现mysql全文搜索功能的方法
2014/12/25 PHP
PHP实现Unicode编码相互转换的方法示例
2020/11/17 PHP
JavaScript的面向对象(二)
2006/11/09 Javascript
Javascript load Page,load css,load js实现代码
2010/03/31 Javascript
JavaScript基本数据类型及值类型和引用类型
2015/08/25 Javascript
jQuery无刷新切换主题皮肤实例讲解
2015/10/21 Javascript
JQuery标签页效果实例详解
2015/12/24 Javascript
浅析Nodejs npm常用命令
2016/06/14 NodeJs
原生js获取元素样式的简单方法
2016/08/06 Javascript
关于JavaScript数组你所不知道的3件事
2016/08/24 Javascript
深入学习Bootstrap表单
2016/12/13 Javascript
js实现自定义进度条效果
2017/03/15 Javascript
JavaScript函数绑定用法实例分析
2017/11/14 Javascript
Vue与Node.js通过socket.io通信的示例代码
2018/07/25 Javascript
Puppeteer 爬取动态生成的网页实战
2018/11/14 Javascript
javascript实现5秒倒计时并跳转功能
2019/06/20 Javascript
vue实例的选项总结
2020/06/09 Javascript
vue实现打地鼠小游戏
2020/08/21 Javascript
Python 命令行参数sys.argv
2008/09/06 Python
初学Python实用技巧两则
2014/08/29 Python
对Python的Django框架中的项目进行单元测试的方法
2016/04/11 Python
Python中列表元素转为数字的方法分析
2016/06/14 Python
Appium+python自动化怎么查看程序所占端口号和IP
2019/06/14 Python
python3 下载网络图片代码实例
2019/08/27 Python
python getpass模块用法及实例详解
2019/10/07 Python
Python 脚本实现淘宝准点秒杀功能
2019/11/13 Python
Python3自定义http/https请求拦截mitmproxy脚本实例
2020/05/11 Python
利用Python中的Xpath实现一个在线汇率转换器
2020/09/09 Python
scrapy-redis分布式爬虫的搭建过程(理论篇)
2020/09/29 Python
移动端HTML5开发神器之vconsole详解
2020/12/15 HTML / CSS
加拿大留学自荐信
2014/01/28 职场文书
2014年教务工作总结
2014/12/03 职场文书
大学生求职信怎么写
2015/03/19 职场文书
2015年团支部年度工作总结
2015/05/27 职场文书