python+selenium的WebElement对象操作

Posted 小白龙白龙马

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python+selenium的WebElement对象操作相关的知识,希望对你有一定的参考价值。

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对象操作的主要内容,如果未能解决你的问题,请参考以下文章

Selenium Webdriver 和 PageFactory 初始化 List<WebElement> 元素

selenium ide和selenium python的区别

python+selenium环境安装

selenium python怎么封装方法

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

python 无法导入selenium的问题