博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
轻松自动化---selenium-webdriver(python) (六)
阅读量:5788 次
发布时间:2019-06-18

本文共 3036 字,大约阅读时间需要 10 分钟。

本节知识点:

操作对象:

  • · click 点击对象
  • · send_keys 在对象上模拟按键输入
  • · clear 清除对象的内容,如果可以的话

WebElement  另一些常用方法:

  • · text  获取该元素的文本
  • · submit  提交表单
  • · get_attribute  获得属性值

======================================

 

操作测试对象

 

前面讲到了不少知识都是定位元素,定位只是第一步,定位之后需要对这个原素进行操作。

鼠标点击呢还是键盘输入,这要取决于我们定位的是按钮还输入框。

一般来说,webdriver中比较常用的操作对象的方法有下面几个

· click 点击对象

· send_keys 在对象上模拟按键输入

· clear 清除对象的内容,如果可以的话

在我们本系列开篇的第一个例子里就用到了到click 和send_skys ,别翻回去找了,我再贴一下代码:

# coding = utf-8from selenium import webdriverbrowser = webdriver.Firefox()browser.get("http://www.baidu.com")browser.find_element_by_id("kw").clear()browser.find_element_by_id("kw").send_keys("selenium")browser.find_element_by_id("su").click()browser.quit()

send_keys("XX")   用于在一个输入框里输入内容。

click()   用于点击一个按钮。

clear()   用于清除输入框的内容,比如百度输入框里默认有个“请输入关键字”的信息,再比如我们的登陆框一般默认会有“账号”“密码”这样的默认信息。clear可以帮助我们清除这些信息。

 

 

WebElement  另一些常用方法:

 

· text  获取该元素的文本

· submit  提交表单

· get_attribute  获得属性值

 

text  

用于获取元素的文本信息

下面把百度首页底部的声明打印输出

#coding=utf-8from selenium import webdriverimport  timedriver = webdriver.Firefox()driver.get("http://www.baidu.com")time.sleep(2)#id = cp 元素的文本信息data=driver.find_element_by_id("cp").textprint data   #打印信息time.sleep(3)driver.quit()

输出:

>>> ©2013 Baidu 使用百度前必读 京ICP证030173号

 

 

submit

提交表单

我们把“百度一下”的操作从click 换成submit :

#coding=utf-8from selenium import webdriverimport timedriver = webdriver.Firefox()driver.get("http://www.baidu.com")driver.find_element_by_id("kw").send_keys("selenium")time.sleep(2)#通过submit() 来操作driver.find_element_by_id("su").submit()  time.sleep(3)driver.quit()

这里用submit 与click的效果一样,我暂时还没想到只能用submit 不能用click的场景。他们之间到底有啥区别,知道的同学请留言告诉我。

 

get_attribute

获得属性值。

这个函数的用法前面已经有出现过,在定位一组元素的时候有使用到它,只是我们没有做过多的解释。

一般用法:

select = driver.find_element_by_tag_name("select")allOptions = select.find_elements_by_tag_name("option")for option in allOptions:    print "Value is: " + option.get_attribute("value")    option.click()

具体应用参考:

定位一组元素:http://www.cnblogs.com/fnng/p/3190966.html

 

小结:

学到这里我们是不是已经撑握了不少知识,简单的操作浏览器,定位元素,操作元素以及打印一些信息。其实,我们前面的学习中大多使用的是WebElement 里的方法。

 

WebElement的方法:

 

一般来说,所有有趣的操作与页面进行交互的有趣的操作,都通过 WebElement 完成

classselenium.webdriver.remote.webelement.WebElement(parent, id_)

这个类代表HTML页面元素

 

id_#当前元素的ID tag_name#获取元素标签名的属性 text#获取该元素的文本。 click()#单击(点击)元素 submit()#提交表单 clear()#清除一个文本输入元素的文本 get_attribute(name)#获得属性值 s_selected(self)#元素是否被选择Whether the element is selected.is_enabled()#元素是否被启用 find_element_by_id(id_)find_elements_by_id(id_)#查找元素的id  find_element_by_name(name)find_elements_by_name(name)#查找元素的name find_element_by_link_text(link_text)find_elements_by_link_text(link_text)#查找元素的链接文本 find_element_by_partial_link_text(link_text)find_elements_by_partial_link_text(link_text)#查找元素的链接的部分文本 find_element_by_tag_name(name)find_elements_by_tag_name(name)#查找元素的标签名 find_element_by_xpath(xpath)#查找元素的xpath find_elements_by_xpath(xpath)#查找元素内的子元素的xpath find_element_by_class_name(name)#查找一个元素的类名 find_elements_by_class_name(name)#查找元素的类名 find_element_by_css_selector(css_selector)#查找并返回一个元素的CSS 选择器 find_elements_by_css_selector(css_selector)#查找并返回多个元素的CSS 选择器列表 send_keys(*value)#模拟输入元素
你可能感兴趣的文章
PAT A1030 动态规划
查看>>
自制一个 elasticsearch-spring-boot-starter
查看>>
【人物志】美团前端通道主席洪磊:一位产品出身、爱焊电路板的工程师
查看>>
一份关于数据科学家应该具备的技能清单
查看>>
机器学习实战_一个完整的程序(一)
查看>>
Web框架的常用架构模式(JavaScript语言)
查看>>
如何用UPA优化性能?先读懂这份报告!
查看>>
这些Java面试题必须会-----鲁迅
查看>>
Linux 常用命令
查看>>
CSS盒模型
查看>>
ng2路由延时加载模块
查看>>
使用GitHub的十个最佳实践
查看>>
脱离“体验”和“安全”谈盈利的游戏运营 都是耍流氓
查看>>
慎用!BLEU评价NLP文本输出质量存在严重问题
查看>>
JAVA的优势就是劣势啊!
查看>>
ELK实战之logstash部署及基本语法
查看>>
帧中继环境下ospf的使用(点到点模式)
查看>>
BeanShell变量和方法的作用域
查看>>
LINUX下防恶意扫描软件PortSentry
查看>>
由数据库对sql的执行说JDBC的Statement和PreparedStatement
查看>>