webelement对象操作

webelement对象是selenium中所有元素的父类,也就是webelement对象拥有的方法,其它元素对象都会有;

只是不同的对象在调用特定方法时,效果是不一样的,即:

某些方法只是针对特定元素类型有效,而对其它类型无效。

(1)、clear:清空文本框中的文本,仅仅对有文本输入特性的元素有效;例如:文本框、多行文本框等;

(2)、click:单击元素,可以通过该方法,让元素获取焦点;

(3)、find_element系列:查找子元素的方法,同浏览器的find_element系列方法相同;

(4)、get_attribute:获取当前元素的特定属性值,如 name、style等;

(5)、id:表示当前元素在selenium中的唯一标识;

(6)、is_displayed:当前元素是否可见;

(7)、is_enabled:当前元素是否可用;

(8)、is_selected:当前元素是否被选中,通常在checkbox、radiobox、select option等元素上;

(9)、location:返回当前元素的左上角坐标X、Y的位置,即在当前页面中的绝对位置坐标;

(10)、location_once_scrolled_into_view:返回当前元素第一次滚动到可视区域时的左上角坐标X、Y的位置,使用此方法可以把不在可视区域的元素

滚动到可视区域;

(11)、parent:返回WebDriver对象;

(12)、rect:返回当前元素左上角坐标X、Y值,以及该元素的宽和高,即该元素的显示区域;

(13)、send_keys:向当前元素发送字符串内容,仅仅对可输入web元素有效,如文本框、文本区域等;

(14)、size:获取当前元素的宽和高;

(15)、submit:提交当前元素所在的form表单,相当于单击所在form表单内的submit;

(16)、tag_name:获取当前元素的tag name内容,如文本框的值为input;

(17)、text:获取当前元素的inneerText值,即元素开始标签和结束标签之间的文本内容;

(18)、value_of_css_property:获取当前元素的css属性,如获取color的属性值;

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

from selenium import webdriver
from time import sleep driver = webdriver.Firefox() # 指定和打开浏览器
url1='http://www.baidu.com'
driver.get(url1) #打开第一个网址 #也可以写成:driver.get('http://www.baidu.com')
sleep(5) driver.find_element_by_id('kw').send_keys('中国') #输入中国 print(driver.find_element_by_id('kw').is_displayed()) #TRUE #是否可见 print(driver.find_element_by_id('kw').is_enabled()) #TRUE #当前元素是否可用 print(driver.find_element_by_id('kw').location) #{'x': 129, 'y': 18} #返回X、Y print(driver.find_element_by_id('kw').size) #{'height': 22.0, 'width': 494.0} #返回宽和高 print(driver.find_element_by_id('kw').rect) #{'x': 129.0, 'y': 18.0, 'width': 494.0, 'height': 22.0} #返回X、Y,宽和高,即可视区域 # http://www.baidu.com 首页html源代码
#
# 输入框: <input id="kw" name="wd" class="s_ipt" value="" maxlength="255" autocomplete="off">
#
# 确定按钮: <input type="submit" id="su" value="百度一下" class="bg s_btn"> print(driver.find_element_by_id('kw').tag_name) # input
print(driver.find_element_by_id('kw').get_attribute('name')) # wd
print(driver.find_element_by_id('kw').get_attribute('id')) # kw
print(driver.find_element_by_id('kw').get_attribute('class')) # s_ipt
print(driver.find_element_by_id('kw').get_attribute('value')) # 中国 print(driver.find_element_by_id('kw').parent) # <selenium.webdriver.firefox.webdriver.WebDriver (session="ec5c73e4-93ce-4e0a-b74a-26b49b175fda")> print(driver.find_element_by_id('kw').value_of_css_property('color')) # rgb(0, 0, 0) #获取当前元素的css属性,如获取color的属性值 driver.quit()

python+selenium的WebElement对象操作的更多相关文章

  1. python+selenium下拉列表option对象操作方法一

    参考官方文档:https://selenium.dev/selenium/docs/api/py/webdriver_support/selenium.webdriver.support.select ...

  2. python+selenium之字符串切割操作

    python+selenium之字符串切割操作 在Python中自带的一个切割方法split(),这个方法不带参数,就默认按照空格去切割字段,如果带参数,就按照参数去切割. 新建一个python文件, ...

  3. Python+Selenium自动化-模拟键盘操作

    Python+Selenium自动化-模拟键盘操作   0.导入键盘类Keys() selenium中的Keys()类提供了大部分的键盘操作方法:通过send_keys()方法来模拟键盘上的按键. # ...

  4. Python+Selenium自动化 模拟鼠标操作

    Python+Selenium自动化 模拟鼠标操作   在webdriver中,鼠标的一些操作如:双击.右击.悬停.拖动等都被封装在ActionChains类中,我们只用在需要使用的时候,导入这个类就 ...

  5. python+selenium文本框对象以及按钮对象操作

    文本框对象 from selenium import webdriverfrom time import sleep driver = webdriver.Firefox() # 指定和打开浏览器ur ...

  6. Python+Selenium学习--操作测试对象

    场景 前面已经讲解了如果定位对象,定位之后需要对这个对象进行操作.是鼠标点击还是键盘输入,取决于我们定位的对象缩支持的操作. webdriver中比较常用的操作元素的方法有下面几个: clear    ...

  7. python+selenium 滑动滚动条的操作

    工作中碰到一种情况就是,要定位的元素需要滚动条滑到下方后才可以显示出来. 这种情况下,就要先滑动滚动条,再定位元素. 那么滑动滚动条我以前记录了appium中的操作,那么,selenium中该如何操作 ...

  8. python+selenium:浏览器webdriver操作(1)--基本对象定位

    1.简单对象的定位-----自动化测试的核心 对象的定位应该是自动化测试的核心,要想操作一个对象,首先应该识别这个对象.一个对象就是一个人一样,他会有各种的特征(属性),如比我们可以通过一个人的身份证 ...

  9. python+selenium之浏览器滚动条操作

    from selenium import webdriver import time #访问百度 driver=webdriver.Ie() driver.get("http://www.b ...

随机推荐

  1. phonetic

    Simple Classification of English Vowels and Consonants 1.Classifation of English Vowels a)Monophtong ...

  2. mock.js模拟ajax数据请求

    在我们开发过程中存在着前端页面ui完成了,但是没有接口进行联调数据的情况,现在介绍一下用mock.js来完成数据的请求.这样在后期我们的后台接口完成后只需要更改请求的接口名字即可!前提是你的模拟字段名 ...

  3. Tomcat与jdk在Linux上的安装与配置

    本人qq群也有许多的技术文档,希望可以为你提供一些帮助(非技术的勿加). QQ群:   281442983 (点击链接加入群:http://jq.qq.com/?_wv=1027&k=29Lo ...

  4. axios中put和patch的区别(都是update , put是需要提交整个对象资源,patch是可以修改局部)

    patch方法用来更新局部资源,这句话我们该如何理解? 假设我们有一个UserInfo,里面有userId, userName, userGender等10个字段.可你的编辑功能因为需求,在某个特别的 ...

  5. 理解厂商前缀 -webkit- / -moz- / -ms- / -o-

    CSS3规范如果想要达到W3C的推荐标准状态还需要不断改进.浏览器则通常在W3C开发标准的过程中就会体现这些特性.这样,标准在最终敲定之前就能知道哪些地方还能进一步改进. 在包含某个特性的的初始阶段, ...

  6. B/S实现大视频上传

    在公司做B/S 开发与维护三年啦, 对B/S架构的了解也是只知大概,对于这种基础知识还是很有必要理一理哒.趁空去网上查阅了资料,顺便整理一份笔记供以后查询. 一. B/S的概念 B/S(Brower/ ...

  7. Are We Ready for SDN? Implementation Challenges for Software-Defined Networks

    Name of article:Are We Ready for SDN?  Implementation Challenges for  Software-Defined Networks Orig ...

  8. 解决 UIAlterController 不居中问题

    最后更新:2017-06-30 现象描述 新公司做的解决的第一个bug 就是 UIAlterController 不居中,莫名其妙的飞出屏幕之外 找了很久的答案,最终在苹果论坛看到了相关的描述 We ...

  9. python-之基本语法

    模块一些函数和类的集合文件,并实现一定的功能,当我们需要使用这些功能的时候,可以直接把相应的模块导入到我们的程序中 import import mode    #导入mode模块 即导入mode模块后 ...

  10. [CSP-S模拟测试]:chess(数学)

    题目描述 $dirty$在一个棋盘上放起了棋子. 棋盘规格为$n\times m$,他希望任意一个$n\times n$的区域内都有$C$个棋子.$dirty$很快就放置好了一个满足条件的棋盘方案,但 ...