详细教程
https://blog.csdn.net/qq_44326412/article/details/107825851
简介
Selenium是一个自动化测试工具,支持多种浏览器。它采用Javascript单元测试工具JSUnit为核心,模拟真实用户操作,包括浏览页面、点击链接、输入文字、提交表单、触发鼠标事件等等,并且能够对页面结果进行种种验证。也就是说,只要在测试用例中把预期的用户行为与结果都描述出来,我们就得到了一个可以自动化运行的功能测试套件(Selenium的核心是Javascript写的,他和浏览器进行通信,把测试用例的信息发送给浏览器执行,从而达到自动化测试的目的)。
安装
selenium包安装
两种方式:
- 打开命令行,执行
pip install selenium
进行安装。 - 借助pycharm这种集成开发环境进行安装。
下载安装浏览器驱动
我们需要根据自己使用的浏览器和版本下载对应的驱动,这里用chrome浏览器举例。
- 首先我们看看自己浏览器的版本
- 下载对应驱动
下载地址
https://chromedriver.chromium.org/downloads
- 将下载的驱动放在python根目录下(也可以不用)
引入selenium后就可以和我们下载的驱动进行连接了,之所以说可以不用放在根目录是因为我们可以自己在获取驱动的时候指定驱动的位置。
from selenium import webdriver
def main():
# 定义一个浏览器驱动
driver = webdriver.Chrome()
通过executable_path参数可以指定驱动的位置,就可以不用把驱动放在python根目录了
driver = webdriver.Chrome(executable_path=r'C:\Users\zdd\AppData\Local\Programs\Python\Python38\chromedriver.exe')
第一个示例
# This is a sample Python script.
# Press Shift+F10 to execute it or replace it with your code.
# Press Double Shift to search everywhere for classes, files, tool windows, actions, and settings.
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
import time
def main():
# 定义一个浏览器驱动
driver = webdriver.Chrome()
# 设置driver的隐式等待,其中的参数是最大等待时间
driver.implicitly_wait(10)
# 通过get的方式实现浏览器的调用
driver.get("https://www.baidu.com/")
# 再搜索框中输入关键字
driver.find_element_by_name('wd').send_keys('光粒')
# 通过id属性查找搜索按钮并点击
driver.find_element_by_id('su').click()
# 显示等待,只有找到xpath下的a标签时才会继续执行
WebDriverWait(driver, 10, 0.5).until(lambda el: driver.find_element_by_xpath('//*[@id="1"]/h3/a'))
# 强制等待
time.sleep(1)
# 点击第一条搜索结果
driver.find_element_by_xpath('//*[@id="1"]/h3/a').click()
time.sleep(5)
driver.quit()
# Press the green button in the gutter to run the script.
if __name__ == '__main__':
main()