前面章节的代码书写过程中,其实已经接触到了元素的操做方法,如
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。如图所示。
::: 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区域,分别是【国内版】与【国外版】,如图所示。
::: 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)
学习路线如下
图书京东、当当有售
京东: https://item.jd.com/12784287.html
当当: http://product.dangdang.com/29177828.html
如果你觉的文章读的不过瘾,可以查看详细的视频教程。
【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)!