selenium自动化测试(一)

最近在学习selenium,过程记录下
Python就不说了,容易出现问题的应该是 webdriver,打开selenium的官网,找到对应的驱动并下载
驱动程序要求
附上地址吧:https://chromedriver.storage.googleapis.com/index.html

版本要和你当前的Chrome版本相符,下图是我的
Chrome版本号要看好
点击进入根据系统选择下载
根据系统选择
下载好后,解压文件,并将文件放到/usr/local/bin目录下就可以了

注:打开finder,按【command+shift+G】弹出对话框,输入/usr/local/bin前往即可,也可以用终端

接下来写一个简单的打开百度,输入selenium,并关闭百度

from selenium import webdriver
from time import sleep

driver = webdriver.Chrome()
driver.get('http://www.baidu.com')
driver.find_element_by_id('kw').send_keys('selenium')
driver.find_element_by_id('su').click()
sleep(3)
driver.quit()

其中用到了对象定位方法,常用的有以下几种:

  • id定位:find_element_by_id()
    不会重复
  • name定位:find_element_by_name()
    基于元素中的name值来定位,有重复的可能
  • link textname定位:find_element_by_class_name()
    基于元素样式来定位,重复的可能性很大
  • link text定位:find_element_by_link_text()
    用于超链接定位
  • partial link text定位:find_element_by_partial_link_text()
    是link text的模糊查询,当查询到多个元素时,取第一个
  • tagname定位:find_element_by_tag_name()
    标签名定位,重复性极高,二次筛选时可使用
  • cssselectorr定位:find_element_by_css_selector()
    基于class属性实现的定位
  • xpath定位:find_element_by_xpath()
    用的较多的一种,基于页面结构定位(绝对路径、相对路径)

在执行的过程中出现了一个问题
Run ‘pytest in demo03.py’

解决方法也比较简单
点击Run ,然后选择Edit Configurations(编辑配置)
在这里插入图片描述

在打开的页面可以看到 Python tests,将其下的文件删除
在这里插入图片描述

再到Python下新建名字相符的.py文件,注意路径哦
在这里插入图片描述
新建后再来执行就正常了

除了元素定位方式,webdriver还有一些常用的属性和方法
属性:

driver.name 浏览器名称
driver.current_url 当前的URL
driver.title 当前页面标题
driver.page_source 当前页面源码
driver.window_handles 当前窗口句柄
driver.current_window_handle 窗口句柄

方法:
driver.back() 浏览器后退
driver.forward() 浏览器前进
driver.refresh() 浏览器刷新
driver.close() 关闭当前窗口
driver.quit() 退出浏览器

WebElement属性和方法
属性:

id 标示
tag_name 宽高
size 宽高和坐标
rect 标签坐标
text 文本

方法:
send_keys() 输入内容
clear() 清空内容
click() 单击
is_selected() 是否被选中
is_enabled() 是否可用
is_displayed() 是否显示
get_attribute() 获得属性
value_of_css_property() css属性

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值