selenium自动化测试
时间:2019-11-07
本文章向大家介绍selenium自动化测试,主要包括selenium自动化测试使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
对应于webdriver中的定位方法分别是:
driver.find_element_by_name()——最常用,简单
driver.find_element_by_id()——最常用,简单
driver.find_element_by_class_name()
driver.find_element_by_tag_name()——最不靠谱
driver.find_element_by_link_text()——定位文字连接好用
driver.find_element_by_partial_link_text()——定位文字连接好用
driver.find_element_by_xpath()——最灵活,万能 (我最擅长)
driver.find_element_by_css_selector()
话不多说,上代码:
我自己写的小例子。仅供参考。
下载对应的谷歌驱动,放在自己的的谷歌目录里面。然后写入环境变量。
#!usr/bin/env python #-*- coding:utf-8 _*- """ @author:wujf @file: 例子.py @time: 2019/11/04 """ from selenium import webdriver import time driver = webdriver.Chrome(r'C:\Users\lenovo\AppData\Local\Google\Chrome\Application\chromedriver.exe') driver.maximize_window() #最大化浏览器 driver.implicitly_wait(23) #隐式等待 url = "http://www.igxpt.com" driver.get(url) driver.find_element_by_xpath('//div[@class="input-wrap"]/input').send_keys('笔记本') #这里我找到输入框模拟输入“笔记本” driver.find_element_by_xpath('//div[@class="input-wrap"]/button').click() #我找到搜索模拟点击搜索 # driver 获取html字符串 print(driver.page_source) #当前网页内容 with open('1.html','w',encoding='gb18030' ) as f: #这里我计入encoding= 'gb18030'是为了解决中文乱码问题 f.write(driver.page_source) print(driver.current_url) #当前网页链接
通过写这个小例子,我发现python3的编码方式真的是让人头疼,几乎大部分时间都要解决获取来的内容编码问题。只要是涉及到中文,或多或少会出现编码的问题。
原文地址:https://www.cnblogs.com/wujf-myblog/p/11811638.html
- Oracle BIEE (Business Intelligence) 11g 11.1.1.6.0 学习(2)RPD资料档案库创建
- Oracle BIEE (Business Intelligence) 11g 11.1.1.6.0 学习(3)创建一个简单的分析
- 请查收!这里有一封信鸽传给您的信
- Oracle BIEE (Business Intelligence) 11g 11.1.1.6.0 学习(4)创建多维钻取分析
- silverlight:RadMaskedTextBox设置MaskType="Numeric"及Mask="n"时的一个bug
- 微信里面最神秘的功能,你知道吗?
- 以大数据之名,变身!——In big data we trust
- 90%家长都不知道关于少儿编程的这些疑题!
- 常用SQL语句和语法汇总
- Python学习笔记1——斐波那契数列
- 视觉传感器几大技术要点详解!
- Spark之搜狗日志查询实战
- 区块链与数字货币是什么关系呢?
- 保存数据到MySql数据库——我用scrapy写爬虫(二)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- selenium webdriver 如何添加cookie
- Flutter基础widgets教程-Scaffold篇
- python selenium 微信公众号历史文章随手一点就返回首页?郁闷之下只好将他们都下载下来。
- Flutter基础widgets教程-SimpleDialog篇
- python selenium 关于将网页打包为静态网页(mhtml)下载。
- Redis:哨兵
- Python中设置指定窗口为前台活动窗口(最顶层窗口)win32gui
- 关于pandas.eval使用的一些问题。
- Flutter基础widgets教程-Slider篇
- 带你认识Pytest(三)
- Additive Powers-of-Two (APoT) Quantization:硬件友好的非均匀量化方法
- Flutter基础widgets教程-SnackBar篇
- Redash 二开 - 后端环境搭建
- Flutter基础widgets教程-Stepper篇
- Flutter基础widgets教程-Switch篇