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.csdn.net/course/detail/29953)
【测试全系列视频课程】请点击我哦…
(https://edu.csdn.net/agency/59)
学习路线如下
微信图片_20210816100905.png微信图片_202108161009051.png微信图片_202108161009052.png
图书京东、当当有售
京东: https://item.jd.com/12784287.html
当当: http://product.dangdang.com/29177828.html
0.9733767060093851.png
【如有测试学习路线上的疑问,可加WX:Leo-890】

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Leo_Eagle

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值