Selenium3自动化测试【23】元素的操作方法

前面章节的代码书写过程中,其实已经接触到了元素的操做方法,如

click()与send_keys()方法。
click()方法用于单击元素,如。
driver.find_element_by_xpath("//*[@id='sb_form_go']").click()
send_keys()用于模拟在元素上输入内容,如。
driver.find_element_by_xpath("//*[@id='sb_form_q']").send_keys("bella")

本节一起来看看元素的操做方法还有哪些。

1. 清除元素的内容

clear()用于清除元素中已有的内容。

from selenium import webdriver
from time import sleep

driver = webdriver.Firefox()
driver.get("http://cn.bing.com/")

#先赋值bella
driver.find_element_by_xpath("//input[@id='sb_form_q']").send_keys("bella") 
sleep(2)
#清空搜索框
driver.find_element_by_xpath("//input[@id='sb_form_q']").clear()  

sleep(1)
driver.quit()

2. 提交表单

submit()用于提交form表单内容或者模拟回车操作,有时可替代click()方法,代码如下:

from selenium import webdriver
from time import sleep

driver = webdriver.Firefox()
driver.get("http://cn.bing.com/")

driver.find_element_by_xpath("//input[@id='sb_form_q']").send_keys("bella")  #先赋值bella
# driver.find_element_by_xpath("//input[@id='sb_form_go']").click()
driver.find_element_by_xpath("//input[@id='sb_form_go']").submit()
sleep(1)
driver.quit()

3. 获取元素的尺寸

size方法用于获取元素尺寸。Bing首页的Bing图的所在的div区域大小为132*52。如图所示。
1.jpg
::: hljs-center

Bing网站

:::

获得bing图所在区域大小的代码如下:

from selenium import webdriver

driver = webdriver.Firefox()
driver.get("http://cn.bing.com/")

#bing首页的logo图
size = driver.find_element_by_xpath("/html/body/table/tbody/tr/td/div/div[2]/div[1]").size
print(size)

# #或如下代码
#for key,value in size.items():
#    print(key+':'+str(value))
    
driver.quit()

运行结果可以在PyCharm控制台中得到{'height': 52.0, 'width': 132.0}。

4. 获取元素属性与文本

get_attribute()方法用于获取元素的相关属性,
Bing首页,搜索框元素的html代码如下,该元素id、class、name等属性均有。


<input class="b_searchbox" id="sb_form_q" name="q" title="输入搜索词" type="search" value="" maxlength="100" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" aria-controls="sw_as" aria-autocomplete="both" aria-owns="sw_as" data-bm="20">

通过get_attribute()方法获取该元素的name属性值,代码如下:

from selenium import webdriver

driver = webdriver.Firefox()
driver.get("http://cn.bing.com/")

# 获得搜索框元素name属性值
NameValue = driver.find_element_by_xpath("//input[@id='sb_form_q']").get_attribute("name")
print(NameValue)
driver.quit()

Text方法用于获取元素文本。
Bing首页存在2个Tab区域,分别是【国内版】与【国外版】,如图所示。
2.jpg

::: hljs-center

bing网站

:::

通过text方法可获得【国内版】元素的文本信息,代码如下:

from selenium import webdriver

driver = webdriver.Firefox()
driver.get("http://cn.bing.com/")

# 获得【国内版】Tab的text
TabValue = driver.find_element_by_xpath("//*[@id='est_cn']").text
print(TabValue)

driver.quit()

如果你觉的文章读的不过瘾,可以查看详细的视频教程。
【2021】UI自动化测试:Selenium3自动化测试
 https://edu.51cto.com/course/26488.html

【测试全系列视频课程】请点击我哦…
https://edu.51cto.com/lecturer/968349.html)
学习路线如下
微信图片_20210816100905.png微信图片_202108161009051.png微信图片_202108161009052.png
图书京东、当当有售
京东: https://item.jd.com/12784287.html
当当: http://product.dangdang.com/29177828.html
0.9733767060093851.png


如果你觉的文章读的不过瘾,可以查看详细的视频教程。
【2021】UI自动化测试:Selenium3自动化测试
https://ke.qq.com/course/3172187?tuin=9c43f38e

【测试全系列视频课程】请点击我哦.....

《全栈测试系列视频》课程

地址:https://ke.qq.com/course/2525707?tuin=9c43f38e

图书京东、当当有售

京东:https://item.jd.com/12784287.html
当当:http://product.dangdang.com/29177828.html)!

posted @ 2021-09-06 14:34  BlaLeo  阅读(201)  评论(0编辑  收藏  举报