首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

selenium使用

为例 3.1 python虚拟环境安装selenium模块 pip/pip3 install selenium 3.2 下载版本符合webdriver 以chrome谷歌浏览器为例 查看谷歌浏览器版本...selenium可以通过多种方式来定位标签,返回标签元素对象 方法 介绍 find_element_by_id (返回一个元素) find_element(s)_by_class_name (根据类名获取元素列表...)_by_tag_name (根据标签名获取元素列表,注意:当页面有多个相同标签名时,该方法只会返回第一个元素) find_element(s)_by_css_selector (根据css选择器来获取元素列表...页面等待 页面加载过程需要花费时间等待网站服务器响应,在这个过程中标签元素有可能还没有加载出来,是不可见,如何处理这种情况呢? 1. 页面等待分类 2. 强制等待介绍 3....- 隐式等待针对元素定位,隐式等待设置了一个时间,一段时间内判断元素是否定位成功,如果完成了,就进行下一步 - 设置时间内没有定位成功,则会报超时加载 - 示例代码 from selenium

1.3K10

python3 爬虫第二步Selenium 使用简单方式抓取复杂页面信息

是个不错选择。...Selenium 使用注意 使用 Selenium前需要安装 Selenium,使用pip命令,安装如下: pip install selenium 安装完成 Selenium 还需要下载一个驱动。...html,大部分有特殊作用元素会赋予一个id,搜索时需要填写是百度搜索关键字文本框,将鼠标移动到文本框,对准文本框点击鼠标右键,点击检查可以查看元素。 ?...源代码右键,选择Copy之后点击Copy XPath,这时我们就把当前这个元素XPath获取了。 ?...start,因为第二页是 XPath 变化值为11-21-31…,设置一个变量为1,每次加10即可,所以循环中,第一句为: start+=10 由于XPath值其它字符串没变化,所以整一条XPath

2.2K20
您找到你想要的搜索结果了吗?
是的
没有找到

厌倦了逆向,还是总结下 selenium 吧。

selenium标签切换 当selenium控制浏览器打开多个标签页时,如何控制浏览器不同标签页中进行切换呢?...需要我们做以下两步: 获取所有标签窗口句柄 利用窗口句柄字切换到句柄指向标签页 具体方法: # 1....标签嵌套页面 driver.switch_to.frame(通过find_element_by函数定位frame、iframe标签对象) 利用切换标签方式切出frame标签 windows =...,设置时间太短,元素还没有加载出来;设置时间太长,则会浪费时间 隐式等待 隐式等待针对元素定位,隐式等待设置了一个时间,一段时间内判断元素是否定位成功,如果完成了,就进行下一步 设置时间内没有定位成功...不停判断或有次数限制判断某一个标签对象是否加载完毕(是否存在) 实现代码如下: import time from selenium import webdriver driver = webdriver.Chrome

1.3K10

selenium学习笔记

什么是selenium 比较官方解释 Selenium一个自动化测试工具,用于Web应用程序模拟用户操作。...Selenium支持多种编程语言,包括Java、C#、Python、Ruby、JavaScript等,并可以多个浏览器和操作系统上运行测试。...getLocation():获取该元素页面位置。以Point对象表示,包含x和y坐标。 getSize():获取该元素大小,以Dimension对象表示,包含width和height。...方法设置了一个最长等待时间为10秒,查找元素时,如果元素未立即出现,WebDriver会等待这个时间内不断尝试查找元素。...2 隐式等待是指在代码设置一个全局等待时间,在此时间内如果元素没有立即出现,程序将等待指定时间,等待元素出现。隐式等待适用于整个测试用例,而不是针对某个特定元素

12810

Python爬虫之数据提取-selenium其它使用方法

标签切换 当selenium控制浏览器打开多个标签页时,如何控制浏览器不同标签页中进行切换呢?...控制标签切换 ---- 2. switch_to切换frame标签 iframe是html中常用一种技术,即一个页面嵌套了另一个网页,selenium默认是访问不了frame内容,对应解决思路是...标签嵌套页面 driver.switch_to.frame(通过find_element_by函数定位frame、iframe标签对象) 利用切换标签方式切出frame标签 windows...页面等待 页面加载过程需要花费时间等待网站服务器响应,在这个过程中标签元素有可能还没有加载出来,是不可见,如何处理这种情况呢?...(了解) 其实就是time.sleep() 缺点时不智能,设置时间太短,元素还没有加载出来;设置时间太长,则会浪费时间 5.3 隐式等待 隐式等待针对元素定位,隐式等待设置了一个时间,一段时间内判断元素是否定位成功

1.9K10

元素定位和定位辅助工具

定位时候是会有元素出来,但是首先确定是不是我要找元素。如果不是,那就再换。 一个html页面,如果两个元素一模一样,通过自己本身没办法定位到自己,就可以想点别的方法。...通过自己各种属性都没有办法确保我是绝对唯一,那么就这样,如果在一个家族一个兄弟姐妹非常优秀,或者上级(爸爸或者爷爷)某一代中非常优秀。...首先把范围缩小到爸爸那辈或者爷爷那辈,爷爷子孙后代找你就很简单了。 元素定位是逐步缩小范围。 比如选择一个标签名是首先缩小元素类型,再去通过属性再去缩小一个范围。...帮你加个id,方便你做元素定位。如果一个系统很多元素都有唯一id的话,这样做起来非常快。 实际上,目前在做很多系统时候你会发现,光有这些定位方式没有办法定位到所有元素。...因为代码执行速度是非常快,发送命令出去后,selenium chromedriver给我们回复消息过程,也许页面渲染还没有成功,渲染是需要时间

1.4K10

selenium高阶用法搞定反爬虫

标签切换 当selenium控制浏览器打开多个标签页时,如何控制浏览器不同标签页中进行切换呢?...控制标签切换 ---- 2. switch_to切换frame标签 iframe是html中常用一种技术,即一个页面嵌套了另一个网页,selenium默认是访问不了frame内容,对应解决思路是...标签嵌套页面 driver.switch_to.frame(通过find_element_by函数定位frame、iframe标签对象) 利用切换标签方式切出frame标签 windows =...页面等待 页面加载过程需要花费时间等待网站服务器响应,在这个过程中标签元素有可能还没有加载出来,是不可见,如何处理这种情况呢?...(了解) 其实就是time.sleep() 缺点时不智能,设置时间太短,元素还没有加载出来;设置时间太长,则会浪费时间 5.3 隐式等待 隐式等待针对元素定位,隐式等待设置了一个时间,一段时间内判断元素是否定位成功

1.5K50

安装Selenium自动化测试框架、并用Selenium爬取拉勾网最新职位数据

通过ChromeDriver下载链接,找到Chrome浏览器相近版本电脑系统进行下载。 ? 下载完成之后,解压,将其放置Python安装路径下文件夹即可。 ?...而我们要考虑是网页翻页以及如何定位到数据。 网页翻页 selenium进行翻页可以直接修改相关参数,然后建立一个循环进行传入参数,这是最普遍。...数据定位 selenium数据定位方法有以下几种: ? 这里要注意是element和elements区别,后一个加了 s ,element是查找一个,elements是查找全部。...find_element_by_xpath 和 lxml库xpath语法一样,也是用在 XML 文档元素和属性进行遍历。...这里可以开发者工具复制xpath语法,但查找多个元素时,还需要适当修改下xpath语法,所以我建议自己编写。 ?

57920

Python无头爬虫Selenium系列(01):像手工一样操作浏览器

他有如下优点: selenium 库已经开发很久,相对来说比较稳定 selenium 各个语言库都是有 google 开发维护,因此不会出有些问题只 Python 版本出现 selenium 相比...: 点击功能区(右区)左上角标签,开启定位模式 此时鼠标移到页面区(左区),鼠标移到地方,右区会显示此元素 html 位置 我们看到,输入框是一个 input 标签,我们要在代码告诉...有2种常见方式,css 选择器 或者 xpath selenium 文档强烈推荐你使用 css 选择器 我们选用 css 选择器,因此,右区 input 标签上,按鼠标右键,选 "copy" ,...进一步看看我们需要主标题在哪里: 我们要数据都在一个 a 标签下 并且这个 a 标签被放在一个 h3 标签里面 那么,现在我们要用 css 选择器表达以下语义:一个div(id=content_left...与 h3 之间有其他任意多其他标签嵌套 h3 与 a 之间,用">" 分开,表示父子关系,就是 a 标签就是 h3 标签包围 ---- 调用代码如下: wd = webdriver.Chrome(

2.3K20

Python无头爬虫Selenium系列(01):像手工一样操作浏览器

他有如下优点: selenium 库已经开发很久,相对来说比较稳定 selenium 各个语言库都是有 google 开发维护,因此不会出有些问题只 Python 版本出现 selenium 相比...: 点击功能区(右区)左上角标签,开启定位模式 此时鼠标移到页面区(左区),鼠标移到地方,右区会显示此元素 html 位置 我们看到,输入框是一个 input 标签,我们要在代码告诉...有2种常见方式,css 选择器 或者 xpath selenium 文档强烈推荐你使用 css 选择器 我们选用 css 选择器,因此,右区 input 标签上,按鼠标右键,选 "copy" ,...进一步看看我们需要主标题在哪里: 我们要数据都在一个 a 标签下 并且这个 a 标签被放在一个 h3 标签里面 那么,现在我们要用 css 选择器表达以下语义:一个div(id=content_left...与 h3 之间有其他任意多其他标签嵌套 h3 与 a 之间,用">" 分开,表示父子关系,就是 a 标签就是 h3 标签包围 ---- 调用代码如下: wd = webdriver.Chrome(

3.3K30

Python使用Selenium模拟浏览器输入内容和鼠标点击

本文介绍Python调用Selenium实现模拟浏览器输入和点击步骤和方法,并给出最易出现BUG解决办法 ? 一、安装Selenium pip install Selenium ?.../') # 通过find_element_by_name获取到网页标签,send_keys()输入内容,搜索栏输入python browser.find_element_by_name...注意class名空格是表示父子级关系,如果有空格,则class_name只取最后一段,然后还要避免有同名class,不要取错了 为了避免取错标签,优先根据id或name等其他方式取...selector: Compound class names not permitted 消息:无效选择器:不允许使用复合类名 原因分析: 我们通过F12从浏览器获取到html元素class name...中间有空格,所以提示我们:类名不合法,不允许类名 解决方法: 方法1.html元素class name中间空格是表示父级和子级关系,我们调用以上方法时,使用类名最后一段就可以了 如选择html

4.4K30

自动化测试selenium小公司成功实践

前言   可能提到自动化测试selenium,大家都会想到用python语言来编写脚本。但我们选择了java语言,因为我相信大部分公司java程序员比python程序员多得多。...目前互联网上关于selenium完整文章很少,也很难买到一个专门讲selenium书籍,这让很多测试人员无从下手,而本文会弥补这一问题,尽可能详细完整介绍selenium实践,提供一个简易版完整项目代码...  这里只讲1个关键,比如 ********   表示这个div同时使用了css1和css2样式,只需要知道如果没办法selenium上定位这个...大概意思说超时没有找到那个搜索框,由于各种各样原因,会导致我们火狐浏览器录制脚本java代码谷歌浏览器里无法兼容,这个时候我们需要去分析一下具体逻辑。   ...写在最后   至此,一个基础版selenium框架就搭好了,后续,可以连接数据库,从库随机取出帐号,进行项目测试。也可以配合bat脚本,实现自动化测试以及报告生成。

1.4K40

多语言自动化测试框架 Selenium 编程(C#篇)

WebDriver 会等待路径 //a/h3 元素出现,最大等待时间为 10s。 而通过隐式等待,WebDriver 试图查找_任何_元素一定时间内轮询DOM。...元素交互:用于操纵表单高级指令集 定位策略: DOM 标识一个或多个特定元素方法 元素信息:html 元素属性 下面来介绍不同 html 元素操作方法示例。...文件上传 上传文件实际上是 type=file input 标签,填写本地路径文件地址,这个地址需要填写文件绝对路径。...如果匹配多个元素,则只选择一个元素。...,.SendKeys()) 清除 (仅适用于文本字段和内容可编辑元素) 提交 (仅适用于表单元素)(Selenium 4不再建议使用) 选择(查找元素) 点击 可以触发元素点击事件: var submitButton

3K20

动态网页数据抓取

Selenium+chromedriver获取动态数据: Selenium相当于是一个机器人。可以模拟人类浏览器上一些行为,自动处理浏览器上一些行为,比如点击,填充数据,删除cookie等。...和chromedriver: 安装SeleniumSelenium有很多语言版本,有java、ruby、python等。...因为点击后还需要选中元素。这时候selenium就专门为select标签提供了一个selenium.webdriver.support.ui.Select。...将获取到元素当成参数传到这个类,创建这个对象。以后就可以使用这个对象进行选择了。...所以 Selenium 提供了两种等待方式:一种是隐式等待、一种是显式等待。 隐式等待:调用driver.implicitly_wait。那么获取不可用元素之前,会先等待10秒时间。

3.7K20

Selenium组成及特点

一、Selenium简介 Selenium一个用于Web应用程序自动化测试工具。Selenium测试直接运行在浏览器,就像真正用户  操作一样。...提供了丰富测试函数,用于实施web自动化一款流行测试工具,直接运行于浏览器,真实模拟用户业务行为 扩展性比较好,支持语言比较多,简单快捷 实际上不是一个 测试工具,是一个工具集,主要由三个核心组件组成...用例标题 3、重要级别 4、测试环境  5、操作步骤  6、预期结果  Selenium:流行开源web自动化测试工具, 直接运行在浏览器,就像真正用户操作一样,支持浏览器包括IE,Firefox...,Chrom等 自动化测试优点:快速回归、脚本重用、代替人重复工作、提高工作效率 缺点:只能检查主要问题,没有办法发现新问题,工作量比较大  二、Selenium组成 1)Selenium...IDE:嵌入到Firefox浏览器一个插件,实现简单浏览器操作录制与回放功能,主要用于快速创建BUG及重现脚本,可转化为多种语言      2)Selenium RC: 核心组件,支持多种不同语言编写自动化测试脚本

1.4K20

python+selenium实现动态爬

Selenium+chromedriver获取动态数据: Selenium相当于是一个机器人。可以模拟人类浏览器上一些行为,自动处理浏览器上一些行为,比如点击,填充数据,删除cookie等。...和chromedriver: 安装SeleniumSelenium有很多语言版本,有java、ruby、python等。...因为点击后还需要选中元素。 这时候selenium就专门为select标签提供了一个selenium.webdriver.support.ui.Select。...将获取到元素当成参数传到这个类,创建这个对象。以后就可以使用这个对象进行选择了。...所以 Selenium 提供了两种等待方式:一种是隐式等待、一种是显式等待。 隐式等待: 调用driver.implicitly_wait。那么获取不可用元素之前,会先等待10秒时间。

2.1K40

VS Code + Python + Selenium 自动化测试基础-01

专家说这是秦始皇当年指挥士兵灭六国带耳麦 决定学习一下这个事情——VS Code + Python + Selenium 自动化测试基础 前言 为什么要写自动化 在这之前,思考一个问题,为什么要写自动化...开发一个大型网站专案过程,不需要针对特定功能进行重复性测试,其主要目的是为了确保系统兼容是否合乎规格,并确认其结果是否合乎预期。...安装 Selenium Python 套件 # pip install selenium # pip show selenium 5.下载ChromeChromeDriver 下载后,解压缩将chromedriver.exe...目标:利用前一个示例, Google 输入框输入“phone”,然后单击搜索 from selenium import webdriver from selenium.common.exceptions...开常用web DriverAPI-定位元素 WebDriver提供了几种元素定位方式,Python对应方式如下 id定位:find_element_by_id() HTML规定,HTML文件

30810

AI网络爬虫:批量爬取抖音视频搜索结果

> href="//http://www.douyin.com/video/7340197363010637093" ChatGPT输入提示词: 你是一个Python爬虫专家,一步步思考,完成以下网页爬取...Python脚本任务: F:\aivideo文件夹里面新建一个Excel文件:douyinchatgpt.xlsx 设置chromedriver路径为:"D:\Program Files\chromedriver125...定位class="HN50D2ec Z3LKqldT"li 标签li 标签定位css选择器=#search-content-area > div > div.aS8_s2bj > div.fSYtCCtg...标签(titlenumber从1开始,并以1 为增量增加),作为视频标题,保存到douyinchatgpt.xlsx第1列; li 标签定位css选择器=#search-content-area...标签(tnumer从1开始,并以1 为增量增加),作为视频发布时间,保存到douyinchatgpt.xlsx第3列; li 标签定位css选择器=#search-content-area > div

12310

Python自动化帮你搞定

项目环境 语言:Python编辑器:Pycharm浏览器:Chrome 准备工作 我们要用 selenium 库操作浏览器进入预订场馆官网,这时候一个难点就是怎么绕过登录,因为我们看到,登录页面是需要输入加了噪音图形验证码...pk 哥之前文章里介绍过怎么绕过网站登录方法:讲讲Python爬虫绕过登录小技巧(链接可点击跳转),这个项目用了其中一种, 启动带有缓存信息 Chrome 浏览器来绕过图形验证码成功登录 当然...先检查下之前有没有下载 chromedriver,并放在 Python 安装根目录下,有安装的话那就是版本不匹配,可能由于 Chrome 浏览器自动升级导致。...所以我们用 selenium 中点击超链接文字部分文字来实现预订时间选择。...我们先来看看场地预订状态判断,通过调试,我们发现,场地 td 标签 status 表示预订状态,其中 status 值为 0 时候表示该场地可以被预订,当 status 值不为 0 时表示该场地不可被预订

2.4K40
领券