selenium自动化测试入门 —— 操作元素对象(1)

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.maximize_window()  # 最大化
driver.get(r'https://www.sogou.com/')  # 打开网页
driver.find_element_by_id('query').send_keys('selenium')  # 搜索框输入selenium
time.sleep(2)  # 等待3秒
driver.find_element_by_id('query').clear()  # 清除搜索框内容
time.sleep(2)
driver.find_element_by_id('query').send_keys('selenium')  # 重新输入内容
driver.find_element_by_id('sf').submit()  # 提交搜索框的表单
# driver.find_element_by_id('stb').submit()  #  提交按钮也可提交表单,单击按钮也可以
time.sleep(2)
driver.quit()  # 关闭浏览器

注意:submit() 提交表单,可以是提交按钮,也可以是表单元素,也可以是输入框元素

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036

二、元素的常用方法

element.location 返回元素的坐标字典(相对于网页左上角0,0开始)

element.text 获取元素的文本,页面上看得到的文本

element.get_attribute(‘属性名称’) 获得元素的属性 强调“有”

element.get_property(‘属性名称’) 获得元素的固有属性值 强调“专”

element.is_displayed() 返回元素的结果是否可见,有些元素肉眼可见,但是他是隐藏的

示例:

from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.maximize_window()  # 最大化
driver.get(r'https://www.sogou.com/')  # 打开网页
driver.find_element_by_id('query').send_keys('selenium')  # 搜索框输入selenium
element=driver.find_element_by_id('query')
print('搜索框的内容为:',element.get_attribute('value'))
print('搜索框的class属性:',element.get_attribute('class'))
print('搜索框的type属性:',element.get_attribute('type'))
print('搜索框的坐标位置:',element.location)
print('搜索框是否可操作:',element.is_displayed())
time.sleep(2)
text = driver.find_element_by_class_name('erwm-box').text  # 获取二位码的文本
print('底部二维码的文本为:',text)
time.sleep(2)
driver.quit()  # 关闭浏览器

1、element.location 获取元素的坐标位置

对于已加载到浏览器的底部元素,操作元素时现在chrome无法自动拖动滚动条,需要获取元素位置后,采用js拖动滚动条到相应位置采用操作元素。

2、element.text 获取元素的文本

<div class="erwm-box">
       <span class="ewm"></span>
       <div class="erwx">
           <p>搜狗搜索APP</p>
           <p class="p2">搜你所想</p>
       </div>
   </div>

如上,我们定位class="erwm-box"元素,获取到的文本是 [搜狗搜索APP 搜你所想] ,也就是界面上能看到的文字内容。输入框除外(输入框的值是存储在value属性中),只要是界面上的文本内容都可以获取。

多用于校验点。

3、element.get_attribute(‘属性名称’) 获取对应的属性值,强调“有”

<input type=“text” class=“sec-input” name=“query” id=“query” maxlength=“100” autocomplete=“off”>

如上搜索输入框的属性有type、class、name、id、maxlength、autocomplete;我都可以通过get_attribute()获取到他的值,因为他’有’。

value是特殊的属性,输入框,单项按钮,多选按钮多具有改属性。

4、element.get_property(‘属性名称’) 获得元素的固有属性值,强调“专”

它与get_attribute() 差别,get_property()是获取元素的固有属性。

我们所有的元素都有特定固有属性,如id、type、value等。

当使用get_attribute()无法获取到属性的值时,可使用get_property()。

5、element.is_displayed() 判定改元素是否可见

当我们定位到了元素,但是无法操作时,可以看看他是否可见,不可见不一定就是在界面上消失了。

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

朋友,可以戳这里获取](https://bbs.csdn.net/topics/618631832)**

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值