Selenium常用方法及函数、txt参数化

发表于:2018-3-15 10:21

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:江诗    来源:博客园

  常用方法及函数:
  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文档中进行遍历,示例如下:
1 #引入所需包
2 import time,codecs
3 from selenium.webdriver.common.by import By
4 from selenium import webdriver
5
6 #把打开的文档内容进行utf-8编码
7 source = codecs.open("123.txt","r","utf-8")
8 value = source.readlines()
9 # print(list(value))
10
11 #遍历txt文档中的内容
12 for search in value:
13     driver = webdriver.Chrome()
14     url = "https://www.baidu.com/"
15     driver.get(url)
16     driver.find_element(By.ID,"kw").send_keys(search)
17     time.sleep(3)
18     driver.find_element(By.ID,"su").click()
19     driver.quit()
  二、把需要的参数写在一个函数中,需要的时候进行调用,示例如下
  函数部分
  1 def fun(user="hanxiaobei",pswd="123456"):
  2     print(u"调用函数成功")
  3     return user,pswd
  代码部分
1 from selenium.webdriver.common.by import By
2 from selenium import webdriver
3 import time
4 import k1
5 c2,c3=k1.fun()
6 # print(k2,k3) #打印是否调用成功
7
8 driver = webdriver.Chrome()
9 url = "https://www.baidu.com/"
10 driver.get(url)
11 driver.find_element(By.LINK_TEXT,"登录").click()
12 time.sleep(3)
13 driver.find_element(By.ID,"TANGRAM__PSP_10__userName").send_keys(c2)
14 driver.find_element(By.ID,"TANGRAM__PSP_10__password").send_keys(c3)
15 time.sleep(20)  #由于需要输入验证码,我采用的手动输入,嘎嘎
16 driver.find_element(By.ID,"TANGRAM__PSP_10__submit").click()
17 time.sleep(5)
18 driver.quit()
  三、把需要的参数写在字典中,需要的时候进行调用,示例如下
  字典写成了一个函数,如下
  1 def zidian():
  2     data = {"han":"Hanxiaobei","user":123456,"hanxiaobei1":"1234567890"}
  3     return data
  遍历字典代码部分,如下
1 from selenium.webdriver.common.by import By
2 from selenium import webdriver
3 import time
4 import k1
5 info=k1.zidian()
6 # print(info)
7 for username,passwd in info.items():
8     print(username)
9     print(passwd)
10     driver = webdriver.Chrome()
11     url = "https://www.baidu.com/"
12     driver.get(url)
13     driver.find_element(By.LINK_TEXT,"登录").click()
14     time.sleep(3)
15     driver.find_element(By.ID,"TANGRAM__PSP_10__userName").send_keys(username)
16     driver.find_element(By.ID,"TANGRAM__PSP_10__password").send_keys(passwd)
17     time.sleep(20)
18     driver.find_element(By.ID,"TANGRAM__PSP_10__submit").click()
19     time.sleep(5)
20     driver.quit()
上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号