· 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)

#模拟输入元素

python selenium --一些常用方法的更多相关文章

  1. Python Selenium Webdriver常用方法总结

    Python Selenium Webdriver常用方法总结 常用方法函数 加载浏览器驱动: webdriver.Firefox() 打开页面:get() 关闭浏览器:quit() 最大化窗口: m ...

  2. python selenium API 常用方法

    配置使用环境 下载相应的浏览器驱动, Firefox 是默认的 本文以 chrome 为主 ,放在scripts目录下ChromeDriver 官方下载地址 : 所有版本的 ChromeDriver ...

  3. Python+selenium常用方法(Webdriver API)

    小编整理了目前学习的Python+selenium常用的一些方法函数,以后有新增再随时更新. 加载浏览器驱动: webdriver.Firefox() 打开页面:get() 关闭浏览器:quit() ...

  4. WEB自动化(Python+selenium)的API

    在做Web自动化过程中,汇总了Python+selenium的API相关方法,给公司里的同事做了第二次培训,分享给大家                                         ...

  5. Python+Selenium(webdriver常用API)

    总结了Python+selenium常用的一些方法函数,以后有新增再随时更新: 加载浏览器驱动: webdriver.Firefox() 打开页面:get() 关闭浏览器:quit() 最大化窗口:  ...

  6. 《一头扎进》系列之Python+Selenium框架设计篇4- 价值好几K的框架,呵!这个框架有点意思啊

    1.简介 前面文章,我们实现了框架的一部分功能,包括日志类和浏览器引擎类的封装,今天我们继续封装一个基类和介绍如何实现POM.关于基类,是这样定义的:把一些常见的页面操作的selenium封装到bas ...

  7. Python+Selenium基础入门及实践

    Python+Selenium基础入门及实践 32018.08.29 11:21:52字数 3220阅读 23422 一.Selenium+Python环境搭建及配置 1.1 selenium 介绍 ...

  8. 【Selenium01篇】python+selenium实现Web自动化:搭建环境,Selenium原理,定位元素以及浏览器常规操作!

    一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 二.话不多说,直接开干,开始搭建自动化测试环境 这里以前在 ...

  9. 【Selenium02篇】python+selenium实现Web自动化:鼠标操作和键盘操作!

    一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第二篇博 ...

随机推荐

  1. 【线段树】HDU1394 - Minimum Inversion Number

    [题目大意] 给出0..n-1组成的一段数,可以移动前几个数到结尾.求出最小的逆序对个数. [思路] 先用线段树求出逆序对,方法和树状数组是一样的.然后对于当前第一个数num[0],在它之后比它小的数 ...

  2. django2与1的差别和视图

    django1与2路由的差别 在django1中的url在django2中为re_path django2中新增了path 1.from django.urls import path 2.不支持正则 ...

  3. Java高级架构师(一)第38节:Nginx的负载均衡模块

    负载均衡: 1.热备:如果你有2台服务器,当一台服务器发生事故时,才启用第二台服务器给提供服务.服务器处理请求的顺序:AAAAAA突然A挂啦,BBBBBBBBBBBBBB..... upstream ...

  4. [转] 浅谈ssh(struts,spring,hibernate三大框架)整合的意义及其精髓

      hibernate工作原理 原理: 1.读取并解析配置文件 2.读取并解析映射信息,创建SessionFactory 3.打开Sesssion 4.创建事务Transation 5.持久化操作 6 ...

  5. 客户端的javascript改变了asp.net webform页面控件的值,后台代码中如何获取修改后的值。

    客户端的javascript改变了asp.net webform页面控件的值,后台代码中如何获取修改后的值.     无论是什么的html控件,只要加上了runat="server" ...

  6. IOS开发错误

    After modifying system headers, please delete the module cache at '/Users/XXX/Library/Developer/Xcod ...

  7. c# string与String区别

    [C#] String与string的区别:供参考 转自:https://www.cnblogs.com/rosesmall/p/8351808.html C#是区分大小写的,但是我却发现C#中同时存 ...

  8. TensorFlow进阶(三)---变量的创建、初始化

    变量的的创建.初始化.保存和加载 其实变量的作用在语言中相当,都有存储一些临时值的作用或者长久存储.在Tensorflow中当训练模型时,用变量来存储和更新参数.变量包含张量(Tensor)存放于内存 ...

  9. less、sass、stylus

    less.sass.stylus 它们是三种类似的样式动态语言,属于css预处理语言,它们有类似css的语法,为css赋予了动态语言的特性.如变量.继承.运算.函数等.这么做是为了css的编写和维护. ...

  10. POJ 1275-Cashier Employment(差分约束系统)

    题目地址:id=1275">POJ 1275 题意: 给出一个超市24小时各须要R[i]个雇员工作,有N个雇员能够雇佣.他们開始工作时间分别为A[i],求须要的最少的雇员人数. 思路: ...