Selenium基础使用

本文介绍了Selenium的基础使用,包括安装Selenium、下载浏览器驱动(以Chrome为例),以及如何加载驱动、访问网页。文中详细讲解了常用的方法,如浏览器操作(get、refresh、back)、查找元素(by_id、by_xpath等)和元素操作(click、send_keys、clear)。还提到了页面加载等待和异常处理的重要性。
摘要由CSDN通过智能技术生成

Selenium基础使用

Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera,Edge等。这个工具的主要功能包括:测试与浏览器的兼容性——测试应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成.Net、Java、Perl等不同语言的测试脚本。

准备工作

在使用selenium前,需要安装selenium,并下载对应浏览器的驱动程序。

安装selenium

加上国内源镜像,下载速度更快。

pip3 install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple/

下载浏览器驱动(Google chrome为例)

首先查看本地chrome浏览器版本,具体步骤如下:
打开谷歌浏览器,点击右上角菜单项→设置→关于chrome
查看chrome版本
谷歌浏览器驱动程序下载地址:chromedriver下载
下载对应版本的驱动程序(小版本号可能对应不上,就近原则即可)
driver下载
下载完成后解压保存,准备工作完成。

基础使用

加载驱动程序

from selenium import webdriver

driver_path = r'chromedriver_win32/chromedriver.exe'
wd = webdriver.Chrome(driver_path)

driver_path是解压后的driver文件夹下的chromedriver.exe应用程序的路径,后续对页面的操作通过wd这个对象进行操作。

访问网页

加载应用程序之后,任务栏会打开一个浏览器进程,通过代码来实现浏览器的设置、访问网页、操作页面元素等功能。

常用的浏览器操作方法
方法名作用
get(base_url)访问给定的url,参数类型为字符串
wd.refresh()刷新页面
wd.back()回退
maximize_window()设置窗口最大化
wd.minimize_window()最小化
常用的查找元素方法

selenium查找页面元素,当明确知道页面元素只有一个,使用find_element_by_XXXX,此时返回的是一个Elemen对象,可以直接对其进行操作;当符合查找条件的元素有多个时,使用find_elements_by_XXXX,此时返回的是一个Elemen对象的列表,具体要操作哪个元素可以根据列表下标获取相应的对象。
下面以find_element_by_XXXX为例进行介绍,查找多个元素时只需将element改为elements即可。所需的参数可以在浏览器的开发工具(F12)中快速复制。
浏览器开发工具复制方法参数更准确

方法名参数描述
find_element_by_id()id,即id
find_element_by_xpath()xpath是元素在html中的路径,例如/html/body/div[1]/div[2]/div[5]/div[1]/div/form/span[1]/input
find_element_by_link_text()通过链接的文本查找
find_element_by_partial_link_text()通过链接的部分文本查找
find_element_by_name()通过name属性查找
find_element_by_tag_name()通过标签名查找
find_element_by_class_name()通过class属性值查找
find_element_by_css_selector()通过标签名、属性值联立来定位元素,例如input[id=“kw”]
常用的元素操作方法
方法名作用
text获取文本值
click()点击
send_keys()设置输入框内容
clear()清除内容
get_attribute()获取属性值
screenshot()对元素所在位置截图
常用的其他方法
方法名作用
implicitly_wait()等待页面加载完成,传入一个整型参数,表示最多等待多少秒

使用感悟

  • 页面未加载完成时,定位元素可能会报错,所以需要implicitly_wait(),也可以使用time.sleep()方法,但是可能会影响效率。
  • 由于各种原因,可能会出现异常,编写异常处理代码,保障程序不会因为报错终止。

总结

持续添加内容,未完待续。。。。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值