轻松自动化---selenium-webdriver(python) (六)

简介:

本节知识点:

操作对象:

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

WebElement  另一些常用方法:

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

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

 

操作测试对象

 

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

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

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

· click 点击对象

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

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

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

# coding = utf-8
from selenium import webdriver

browser = 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-8
from selenium import webdriver

import  time

driver = webdriver.Firefox()
driver.get("http://www.baidu.com")
time.sleep(2)

#id = cp 元素的文本信息
data=driver.find_element_by_id("cp").text
print data   #打印信息

time.sleep(3)
driver.quit()

输出:

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

 

 

submit

提交表单

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

#coding=utf-8
from selenium import webdriver

import time

driver = 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)

#模拟输入元素

目录
相关文章
|
5月前
|
安全 JavaScript 开发者
Python 自动化办公神器|一键转换所有文档为 PDF
本文介绍一个自动化批量将 Word、Excel、PPT、TXT、HTML 及图片转换为 PDF 的 Python 脚本。支持多格式识别、错误处理与日志记录,适用于文档归档、报告整理等场景,大幅提升办公效率。仅限 Windows 平台,需安装 Office 及相关依赖。
301 0
|
6月前
|
Web App开发 存储 前端开发
Python+Selenium自动化爬取携程动态加载游记
Python+Selenium自动化爬取携程动态加载游记
|
3月前
|
存储 数据采集 监控
Python定时爬取新闻网站头条:从零到一的自动化实践
在信息爆炸时代,本文教你用Python定时爬取腾讯新闻头条,实现自动化监控。涵盖请求、解析、存储、去重、代理及异常通知,助你构建高效新闻采集系统,适用于金融、电商、媒体等场景。(238字)
502 2
|
4月前
|
数据采集 监控 Shell
无需Python:Shell脚本如何成为你的自动化爬虫引擎?
Shell脚本利用curl/wget发起请求,结合文本处理工具构建轻量级爬虫,支持并行加速、定时任务、增量抓取及分布式部署。通过随机UA、异常重试等优化提升稳定性,适用于日志监控、价格追踪等场景。相比Python,具备启动快、资源占用低的优势,适合嵌入式或老旧服务器环境,复杂任务可结合Python实现混合编程。
|
6月前
|
数据采集 人工智能 API
推荐一款Python开源的AI自动化工具:Browser Use
Browser Use 是一款基于 Python 的开源 AI 自动化工具,融合大型语言模型与浏览器自动化技术,支持网页导航、数据抓取、智能决策等操作,适用于测试、爬虫、信息提取等多种场景。
900 4
推荐一款Python开源的AI自动化工具:Browser Use
|
6月前
|
存储 数据采集 数据可视化
Python自动化分析知网文献:爬取、存储与可视化
Python自动化分析知网文献:爬取、存储与可视化
|
6月前
|
数据采集 存储 监控
Python爬虫自动化:定时监控快手热门话题
Python爬虫自动化:定时监控快手热门话题
|
6月前
|
安全 数据库 数据安全/隐私保护
Python办公自动化实战:手把手教你打造智能邮件发送工具
本文介绍如何使用Python的smtplib和email库构建智能邮件系统,支持图文混排、多附件及多收件人邮件自动发送。通过实战案例与代码详解,帮助读者快速实现办公场景中的邮件自动化需求。
583 0
|
8月前
|
数据采集 存储 前端开发
Python爬虫自动化:批量抓取网页中的A链接
Python爬虫自动化:批量抓取网页中的A链接
|
7月前
|
测试技术 Python
Python接口自动化测试中Mock服务的实施。
总结一下,Mock服务在接口自动化测试中的应用,可以让我们拥有更高的灵活度。而Python的 `unittest.mock`库为我们提供强大的支持。只要我们正确使用Mock服务,那么在任何情况下,无论是接口是否可用,都可以进行准确有效的测试。这样,就大大提高了自动化测试的稳定性和可靠性。
322 0

推荐镜像

更多