Selenium常用方法及函数、txt参数化
常用方法及函数:
1.表单的提交
方法:submit
解释:查找到表单(from)直接调用submit即可
实例:driver.find_element_by_id("form1").submit()
2.获取CSS的属性值
方法:value_of_css_property(css_name)
实例:driver.find_element_by_css_selector("input.btn").value_of_css_property("input.btn")
3.获取元素的属性值(一组元素中非常实用)
方法:get_attribute(element_name)
实例:driver.find_element_by_id("sellaiyuan").get_attribute("sellaiyuan")
4.判断元素是否被选中
方法:is_selected()
实例:driver.find_element_by_id("form1").is_selected()
5.返回元素的大小
方法:size
实例:driver.find_element_by_id("iptPassword").size
返回值:{'width': 250, 'height': 30}
6.判断元素是否显示(非常实用)
方法:is_displayed()
实例:driver.find_element_by_id("iptPassword").is_displayed()
7.判断元素是否被使用
方法:is_enabled()
实例:driver.find_element_by_id("iptPassword").is_enabled()
8.获取元素的文本值(非常实用)
方法:text
实例:driver.find_element_by_id("iptUsername").text
9.元素赋值
方法:send_keys(*values)
实例:driver.find_element_by_id("iptUsername").send_keys('admin')
10.删除浏览器所有的cookies
方法:delete_all_cookies()
实例:driver.delete_all_cookies()
11.删除指定的cookie
方法:delete_cookie(name)
实例:deriver.delete_cookie("my_cookie_name")
12.设置等待超时时间,可以在设置的时间内智能等待
方法:implicitly_wait(wait_time)
实例:driver.implicitly_wait(30)
13.查看浏览器的名字
方法:name
实例:drvier.name
14.打印title
方法:title
实例:deriver.title
txt参数化:
以百度为例
一、把需要的参数写在一个txt文档中进行遍历,示例如下:
#引入所需包
import time,codecs
from selenium.webdriver.common.by import By
from selenium import webdriver #把打开的文档内容进行utf-8编码
source = codecs.open("123.txt","r","utf-8")
value = source.readlines()
# print(list(value)) #遍历txt文档中的内容
for search in value:
driver = webdriver.Chrome()
url = "https://www.baidu.com/"
driver.get(url)
driver.find_element(By.ID,"kw").send_keys(search)
time.sleep(3)
driver.find_element(By.ID,"su").click()
driver.quit()
二、把需要的参数写在一个函数中,需要的时候进行调用,示例如下
函数部分
1 def fun(user="hanxiaobei",pswd=""):
2 print(u"调用函数成功")
3 return user,pswd
代码部分
from selenium.webdriver.common.by import By
from selenium import webdriver
import time
import k1
c2,c3=k1.fun()
# print(k2,k3) #打印是否调用成功 driver = webdriver.Chrome()
url = "https://www.baidu.com/"
driver.get(url)
driver.find_element(By.LINK_TEXT,"登录").click()
time.sleep(3)
driver.find_element(By.ID,"TANGRAM__PSP_10__userName").send_keys(c2)
driver.find_element(By.ID,"TANGRAM__PSP_10__password").send_keys(c3)
time.sleep(20) #由于需要输入验证码,我采用的手动输入,嘎嘎
driver.find_element(By.ID,"TANGRAM__PSP_10__submit").click()
time.sleep(5)
driver.quit()
三、把需要的参数写在字典中,需要的时候进行调用,示例如下
字典写成了一个函数,如下
1 def zidian():
2 data = {"han":"Hanxiaobei","user":123456,"hanxiaobei1":""}
3 return data
遍历字典代码部分,如下
from selenium.webdriver.common.by import By
from selenium import webdriver
import time
import k1
info=k1.zidian()
# print(info)
for username,passwd in info.items():
print(username)
print(passwd)
driver = webdriver.Chrome()
url = "https://www.baidu.com/"
driver.get(url)
driver.find_element(By.LINK_TEXT,"登录").click()
time.sleep(3)
driver.find_element(By.ID,"TANGRAM__PSP_10__userName").send_keys(username)
driver.find_element(By.ID,"TANGRAM__PSP_10__password").send_keys(passwd)
time.sleep(20)
driver.find_element(By.ID,"TANGRAM__PSP_10__submit").click()
time.sleep(5)
driver.quit()
Selenium常用方法及函数、txt参数化的更多相关文章
- Selenium常用方法及函数
新建实例driver = webdriver.Chrome() 1.获取当前页面Url的函数方法:current_url实例:driver.current_url 2.表单的提交方法:submit解释 ...
- Selenium之利用Excel实现参数化
Selenium之利用Excel实现参数化 说明:我是通过Workbook方式来读取excel文件的,这次以登陆界面为例 备注:使用Workbook读取excel文件,前提是excel需要2003版本 ...
- 笔记-爬虫-selenium常用方法
笔记-爬虫-selenium常用方法 1. 查找元素 常用的查找方法 find_element_by_name find_element_by_xpath find_element_by_l ...
- python接口自动化(三十四)-封装与调用--函数和参数化(详解)
简介 前面虽然实现了参数的关联,但是那种只是记流水账的完成功能,不便于维护,也没什么可读性,随着水平和技能的提升,再返回头去看前边写的代码,简直是惨不忍睹那样的代码是初级入门的代码水平都达不到.接下来 ...
- vbs操作txt文本文件常用方法(函数)
创建文件 dim fso, f set fso = server.CreateObject("Scripting.FileSystemObject") set f = fso.Cr ...
- Jmeter利用CSV Data Set Config 和 _CSVRead函数实现参数化
测试接口时,当请求参数不是固定的,每次请求对应的参数都是不同的,就需要对请求参数进行参数化.我们这里简单介绍一下5个用户与一个用户建立好友关系. 一.测试需求描述 1. 本次测试的接口为http服务端 ...
- 1.selenium实战之从txt文档读取配置信息并执行登录
前置条件: 1.本机已搭建ECShop3.0网站 2.在脚本目录创建了user.txt文本如下: 目的:实现从txt中读取配置文件信息,本实战中,包含url地址.用户名.密码,然后进行ESChop的登 ...
- Python+selenium常用方法(Webdriver API)
小编整理了目前学习的Python+selenium常用的一些方法函数,以后有新增再随时更新. 加载浏览器驱动: webdriver.Firefox() 打开页面:get() 关闭浏览器:quit() ...
- Selenium常用方法
Selenium是一个自动化测试工具,利用它可以驱动浏览器执行特定的动作,如点击.下拉等操作,同时还可以获取浏览器当前呈现的页面的源代码,做到可见即可爬.对于一些JavaScript动态渲染的页面来说 ...
随机推荐
- UML学习网址列表
在线绘图工具ProcessOn:https://www.processon.com/support#mind-format 鲁棒图实例:http://blog.csdn.net/joeyon1985/ ...
- maven pom.xml 详细
一.什么是POM Project Object Model,项目对象模型.通过xml格式保存的pom.xml文件.作用类似ant的build.xml文件,功能更强大.该文件用于管理:源代码.配置文件. ...
- mybatis传参的几种方式
1,@Param @参考文章 @Select("select s_id id,s_name name,class_id classid from student where s_name= ...
- 设置PATH和CLASSPATH
每天玩java的,如果连这门语言背景一点都熟悉的话,说出去真的是挺丢人的一件事情. 首先,java具有最强大的2个特点:功能强大,简单易用.出去android不说,这门语言衍生出太多的开源框架了,这也 ...
- js禁止滚动条移动
js禁止滚动条移动 var scrollFunc=function(e){ e=e||window.event; if (e&&e.preventDefault){ e.prevent ...
- C# TCP 了解
参考:http://www.jb51.net/article/118682.htm 一: TCP 粘包原理:发送方发送若干数据给接收方时粘成一包.从接收缓冲区看,后一包的头紧接前一包的数据的尾. 发送 ...
- Unity AssetBundle 游戏资源分类及关系
--刚刚做完一个xlua的的热更项目,对AssetBundle资源分类总结一下.纯理论,闲谈知识,要是有建议,尽管提 ,不掺杂代码. --这里说说,AB是如何打包,如果下载,如何加载. 1.关键词理解 ...
- 【转】sed 高级用法
首先,应该明白模式空间的定义.模式空间就是读入行所在的缓存,sed对文本行进行的处理都是在这个缓存中进行的.这对接下来的学习是有帮助的. 在正常情况下,sed将待处理的行读入模式空间,脚本中的命令就一 ...
- 用Lua定制Redis命令
* { color: #3e3e3e } body { font-family: "Helvetica Neue", Helvetica, "Hiragino Sans ...
- PYTHON3 中的虚假四舍五入:round()
PYTHON3 中的虚假四舍五入:round() 创建时间: 2017/12/5 17:08 作者: CN_Simo 标签: python基础, round, 四舍五入 一.这不是一个BUG! 在使用 ...