首页 > 其他分享 >Selenium 的基本使用

Selenium 的基本使用

时间:2024-01-28 18:14:39浏览次数:20  
标签:基本 webdriver 浏览器 Python selenium Selenium Chrome 使用

Selenium 是一个强大的自动化测试工具,用于模拟真实用户在Web浏览器中的交互行为。它可以跨多种浏览器和平台运行,并且支持多种编程语言,包括Python、Java、C# 和 Ruby 等。以下是一个基本的Selenium使用教程概述:

1. 准备工作

  • 安装浏览器:首先确保安装了要进行自动化操作的浏览器,如Chrome、Firefox等。
  • 下载并配置WebDriver:对于每个浏览器,需要相应的WebDriver才能与Selenium协同工作。例如,对于Chrome,你需要下载对应的ChromeDriver二进制文件,并将其路径添加到系统环境变量中,或者在代码中指定其绝对路径。
  • 安装Selenium库:根据使用的编程语言,通过相应的包管理器安装Selenium库。比如在Python中,可以使用pip install selenium命令来安装。

2. 初始化浏览器对象

Python
1from selenium import webdriver
2
3# 创建一个新的Chrome浏览器实例
4driver = webdriver.Chrome()
5
6# 或者设置具体的ChromeDriver路径
7driver = webdriver.Chrome(executable_path='/path/to/chromedriver')

3. 访问页面

  • 使用get()方法访问指定URL:
Python
1driver.get('https://www.taobao.com')

4. 页面元素定位与交互

  • Selenium提供了多种方式查找页面上的元素,如find_element_by_*系列方法或更复杂的XPath/CSS选择器。
Python
1search_box = driver.find_element_by_name('q')  # 通过name属性查找输入框
2search_box.send_keys('搜索关键词')  # 向输入框内输入文本
3submit_button = driver.find_element_by_css_selector('.btn-search')  # CSS选择器定位按钮
4submit_button.click()  # 模拟点击提交按钮

5. 获取信息与等待条件

  • 可以获取页面URL、标题或其他属性:
Python
1current_url = driver.current_url
2page_title = driver.title
  • 使用implicitly_waitWebDriverWait实现动态加载内容的等待:
Python
1driver.implicitly_wait(10)  # 设置全局等待时间(秒)
2
3# 或者使用显式等待
4from selenium.webdriver.common.by import By
5from selenium.webdriver.support.ui import WebDriverWait
6from selenium.webdriver.support import expected_conditions as EC
7
8element = WebDriverWait(driver, 10).until(
9    EC.presence_of_element_located((By.ID, 'someId'))
10)

6. 结束会话

  • 完成所有操作后,记得关闭浏览器窗口和退出WebDriver服务:
Python
1driver.quit()

以上仅为基础用法示例,实际应用中可能涉及更多高级功能,如处理异步加载、切换iframe、执行JavaScript脚本等。Selenium可应用于Web应用程序的功能测试、UI回归测试以及简单的网页爬虫场景。

标签:基本,webdriver,浏览器,Python,selenium,Selenium,Chrome,使用
From: https://www.cnblogs.com/syhxx/p/17993086

相关文章

  • 为什么nodejs使用forEach下载不是同步下载,使用for却可以同步下载
    这是因为 JavaScript 的 Array.prototype.forEach 方法是同步的,但它不会等待回调函数的异步操作。当你在 forEach 的回调函数中使用异步操作(例如,Node.js 中的下载操作)时,forEach 会立即启动所有操作,而不会等待它们完成。相反,for 循环可以与 async/await 一起使用,以便在......
  • 人工智能|使用 VGG 网络对人脸识别数据集进行训练并预测,最后对模型进行评估
    一、VGG网络对人脸识别数据集使用VGG网络对人脸识别数据集进行训练并预测,最后对模型进行评估。数据集为2019年上传的十个中国明星的人脸图片(只做学习使用,不得做与其他用途)。按照深度学习的传统,我们将训练集和测试集按照9:1的比例进行划分。自定义的数据集,首先要生成图像列......
  • vue3使用自定义指令实现图片懒加载
    //自定义指令app.directive('lazy',{mounted(el,binding){//绑定的元素,绑定的值//IntersectionObserver可以用来自动监听元素是否进入了设备的可视区域之内,而不需要频繁的计算来做这个判断constobserve=newIntersectionObserver(([{isIntersec......
  • 使用伪元素为dom元素写一个蒙层
    把下方css样式复制给任一元素,修改宽高属性即可增加蒙层<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><linkrel=&qu......
  • [office] excel使用公式编辑器的教程
    Excel中经常需要使用到公式编辑器对公式进行编辑,公式编辑器具体该如何使用呢?下面是由小编分享的excel使用公式编辑器的教程,以供大家阅读和学习。excel使用公式编辑器的教程:公式编辑器使用步骤1:打开Excel文件,在excel2007的插入栏位点击插入-对象!公式编辑器使用步......
  • [office] 解读Excel高手写公式使用的{}--%&符号含义
    Excel高手的世界,我们初触excel的同学们,真还不懂。高手们在编写excel函数公式,经常会玩大括号({})、双减号(--)、百分号(%)、连接空值(&"")等等稀奇古怪的符号,看得我们是一愣愣的。当然这些进阶的思路也是excel帮助文档所给不了我们的。比如这些公式的含义,亲们明白吗?=MATCH("成都......
  • Git必知必会基础(18):PyCharm中使用Git
     本系列汇总,请查看这里:https://www.cnblogs.com/uncleyong/p/10854115.html目前主流ide是pycharm、idea等,他们可以集成git,下面简单分享下用法。数据准备远程仓库 演示:在PyCharm中使用Git(IDEA中类似)配置GitSettings——>VersionControl——>Git——>指定git命令的执行......
  • GOLAND 中 使用GORM ,出现 未发现“mysql”driver
    错误描述:sql:unknowndriver"mysql"(forgottenimport?)panic:runtimeerror:invalidmemoryaddressornilpointerdereference 解决过程:1、清除缓存2、添加包import_"github.com/go-sql-driver/mysql"_(下划线)用于导入包但不使用它的情况。......
  • [office] 在excel中怎么使用格式刷呢-格式刷使用方法介绍
    excel格式刷怎么用,我们都知道工具栏上的格式刷,酷似一把“刷子”。用它“刷”格式,可以快速将指定段落或文本的格式延用到其他段落或文本上,让我们免受重复设置之苦!下面小编就为大家介绍格式刷使用方法,来看看吧!格式刷怎么用1、格式刷在“常用工具栏”上面在粘贴的旁边2、选中含有格式......
  • 01_传感器基本知识
    1传感器的静态特性⭐⭐⭐1.1定义⭐⭐⭐【19,20,21】传感器在被测量的各个值处于稳定状态下,输入量为恒定值而不随时间变化时,其相应输出量亦不随时间变化,这时输出量与输入量之间的关系称为静态特性数学模型:\(y=a_{0}+a_{1}x+a_{2}x^{2}+\dots+a_{n}x^{n}\)情况分类:①理想线性......