首页
学习
活动
专区
圈层
工具
发布

selenium+python在mac环境上的搭建

前言 mac自带了python2.7的环境,所以在mac上安装selenium环境是非常简单的,输入2个指令就能安装好 需要安装的软件: 1.pip 2.selenium2.53.6 3.Firefox44...2.如果想查看目前python安装的所有第三方包,就可以用pip show list查看 $ pip show list 三、卸载selenium 1.如果之前已经装过selenium3了,想降级到selenium2...,首先下载安装Firefox44版本的浏览器(QQ群文件有dmg下载包:232607095) 2.进入到python的环境 $ python 3.然后倒入selenium的包,启动浏览器,打开百度页面,...能成功说明环境没问题了 >>>from selenium import webdriver >>>driver=webdriver.Firefox() >>>driver.get("https://www.baidu.com...3.打开软件,在License server address中填入http://xidea.online,然后点击Activate即可顺利破解! 接下来开始你的hello world!之旅吧

2K40

selenium之 坑(StaleElementReferenceException: Message: Element not found in the cache...)

我们来试试看: 代码: # -*- coding: utf-8 -*- from selenium import webdriver driver = webdriver.Firefox() driver.get..._execute(Command.CLICK_ELEMENT) File "C:\APP\Python2.7.10\lib\site-packages\selenium\webdriver\remote..._parent.execute(command, params) File "C:\APP\Python2.7.10\lib\site-packages\selenium\webdriver\remote...很简单: 只要刷新页面之后重新获取元素就行,不要提前获取一组元素,然后去循环操作每一个元素,这种情况还是获取元素的个数,然后在循环中获取相应位置的元素,在用的时候才去获取,这样你就获取到最新的id了,也不会出现找错人的尴尬了...总之一句话,遇到页面有变化的情况,不要去循环元素,去循环个数或者定位方式,在循环中获取元素。

1.5K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    10分钟教你如何自动化操控浏览器——Selenium测试工具

    作为一个 Web 应用程序自动化测试工具,Selenium 可以直接驱动浏览器,模拟真正的用户操作,解决回归测试和多浏览器兼容性测试问题;而且跟 Python 搭配,还能实现不少功能的自动化,切实提升了测试和业务效率...但我发现,很多人对 Selenium 的了解,还停留在比较浅的层次,无法真正将 Selenium 中的测试方法应用到实际项目中。...定睛一瞅,我们就能感觉到Selenium的强大,尤其是在大厂里,在自动化测试方面,Selenium成为最为有效的自动化工具。...WebDriverWait # 等待页面加载某些元素 3.实例应用 1)打开浏览器,在检索框中输入Python并检索。...那这些就是使用selenium的好处! (2)缺点   使用selenium本质上是驱动浏览器对目标站点发送请求,那浏览器在访问目标站点的时候,是不是都需要把静态资源都加载完毕。

    6.4K30

    Selenium3.X源码分析之开始,走上人生巅峰

    早在2017年,写了系列Python Selenium2代码实例系列,,打算针对Selenium3写个系列,从源码分析开始,但不立flag,写到哪算哪。...掌握代码已经是基础功底,所以从源码开始掌握和理解显得更加重要,而当前各种文大都停留在简单的应用缺乏成体系的从源码分析Selenium系列文章,加上也很久没看Selenium Python端源码了,借着阅读源码的过程写点文章分享下...https://www.seleniumhq.org 为什么还要学习Selenium? 笔者以为,深入理解和掌握Selenium是你遨游在自动化测试领域的核心基础能力!!!...在开始进行Python Selenium3.x源码分析前,需要做几个准备工作: - 安装Python3 参见 [快学Python3]环境安装 - Visual Studio Code 一个好的IDE是必备的...使用以下命令查看当前selenium版本等相关信息 > pip show selenium ? 先看下Selenium Python端API目录结构,如下图所示: ?

    64820

    简单一行代码截图记录每次页面错误

    编写操作类 本次测试将 百度当做测试目标 简单的封装一个操作百度的界面操作类:BaiDuActionUi 包含了: 打开百度 open_web 在输入栏输入指定内容 input_message 在定位错误的输入栏输入指定内容...__(self): return '百度' @allure.step('打开页面') def open_web(self): self.driver.get...test_selenium没有错误,报告中没有截图 test_selenium1在完成输入和查找后断言报错,页面截图停留在搜索完成页面 test_selenium2在输入栏的位置定位元素错误,页面截图停留在搜索开始页面...from selenium import webdriver from functools import wraps def error_screenshot(func): @wraps(...__(self): return '百度' @allure.step('打开页面') def open_web(self): self.driver.get

    1.2K30

    讲解selenium 获取href find_element_by_xpath

    import webdriver# 创建浏览器驱动driver = webdriver.Chrome()# 打开网页driver.get("https://example.com")# 使用XPath...pythonCopy codefrom selenium import webdriver# 创建浏览器驱动driver = webdriver.Chrome()# 打开目标网页driver.get("...Selenium是一个广泛使用的自动化测试工具,主要用于模拟用户在网页上的交互操作。它支持多种编程语言,并且可以在多种浏览器上运行,包括Chrome、Firefox、Safari等。...可扩展性: Selenium支持使用不同的编程语言进行测试编写,如Python、Java、C#等,方便根据项目要求进行扩展和集成。...Selenium Grid: Selenium Grid是一个分布式测试工具,可以同时在多台机器上运行测试脚本,并可跨浏览器和操作系统进行并行测试。

    2.4K10

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

    Selenium 简介 该系列专栏上一篇爬虫文章点击这里。 网站复杂度增加,爬虫编写的方式也会随着增加。使用Selenium 可以通过简单的方式抓取复杂的网站页面,得到想要的信息。...本文将会使用Selenium 进行一些简单的抓取,想要深入学习Selenium 可以查看我之前写过的 《selenium3 底层剖析》 上 下 两篇。...Selenium 使用注意 在使用 Selenium前需要安装 Selenium,使用pip命令,安装如下: pip install selenium 安装完成 Selenium 还需要下载一个驱动。...代码如下: from selenium import webdriver driver = webdriver.Chrome(executable_path=r'F:\python\dr\chromedriver_win32...nextbtn_element.click() time.sleep(2) 首先设置一个start,因为第二页是 XPath 中变化的值为11-21-31…,设置一个变量为1,每次加10即可,所以在循环中

    2.8K20

    【自动化实战】(二)重塑抖音个性化推荐!自动化清空关注列表

    emm,如果是以超高频率去请求的话,轻则 IP 被关入小黑屋,重则抖音号被永久封禁,但是自己又不知道需要将速度控制在多少以内,因此,以这种模拟点击的方式去实现取关反而效果更好。...这里的话,用的是 times,因为关注个数是可知的,当然也能直接获取这个元素的值,不过考虑到不要短时间内过于频繁的请求,因此就设定了一定的循坏次数: 需要注意的是,取关 click 的 css 值也要跟着改变...以下是循环执行了一次的运行结果: 转换成 Python 代码如下所示: from selenium import webdriver from selenium.webdriver.common.by...def teardown_method(self, method): self.driver.quit() def test_(self): self.driver.get...相信在之后,粉丝能够更好地享受到抖音带来的个性化推荐内容,获得更好的使用体验。 以上就是 重塑抖音个性化推荐!自动化清空关注列表 的所有内容了,希望本篇博文对大家有所帮助!

    48420

    在Ubuntu服务器上使用python3+selenium模块

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 Ubuntu服务器使用Firefox+Selenium 一、安装firefox 、D-BUS 和 xvfb 1.Ubuntu安装...: 二、启动浏览器 1.设置DISPLAY环境变量 2.安装geckodriver ---- Ubuntu服务器使用Firefox+Selenium 这里主要是安装firefox 和 D-BUS(想要在服务器上面运行...1.Ubuntu安装: apt install firefox dbus-x11 xvfb 运行xvfb服务上一个带有数字的显示设备上,这样是为了防止你在下阶段添加设备时引发冲突。...现在,我们可以在ubuntu服务器上运行selenium,如同你在本地运行一样。...:/root/bin:$PATH 我这里用的root用户,所以为了把PATH和DISPLAY这两个变量固定下来,在~/.bashrc中将下面两句语句写入 export PATH=.

    2.6K20

    Selenium实际应用注入并执行Javascript语句

    Python通常结合selenium模块来完成一些web的自动化测试以及RPA(Robotic Process Automation)工作 事实上,Selenium还可以支持插入js语句、执行js语句...、返回js语句的执行结果到python程序中。...笔者推荐使用JS注入selenium的方法来达到更好的效果,在selenium中写JS语句往往是如下形式: JS写法 js="document.getElementsByClassName('form-control...# -*-coding=utf-8-*- import unittest from selenium import webdriver import os, time dr = webdriver.Chrome...(url) #向右移动页面# dr.execute_script('window.scrollBy(0,20000)') 03 这里针对于小编公司应用终端是植入在第三方系统上,例如我们公司有个H5应用就必须在企微授权获取对应员工工号才能登录

    3.2K30

    【自动化实战】(二)重塑抖音个性化推荐!自动化清空关注列表 | 技术创作特训营第一期

    emm,如果是以超高频率去请求的话,轻则 IP 被关入小黑屋,重则抖音号被永久封禁,但是自己又不知道需要将速度控制在多少以内,因此,以这种模拟点击的方式去实现取关反而效果更好。...这里的话,用的是 times,因为关注个数是可知的,当然也能直接获取这个元素的值,不过考虑到不要短时间内过于频繁的请求,因此就设定了一定的循坏次数:图片需要注意的是,取关 click 的 css 值也要跟着改变...以下是循环执行了一次的运行结果:图片转换成 Python 代码如下所示:from selenium import webdriverfrom selenium.webdriver.common.by import...Byclass Test(): def setup_method(self, method): self.driver = webdriver.Chrome() self.vars =...{} def teardown_method(self, method): self.driver.quit() def test_(self): self.driver.get

    78300

    21.9 Python 使用Selenium库

    Selenium是一个自动化测试框架,主要用于Web应用程序的自动化测试。它可以模拟用户在浏览器中的操作,如打开网页、点击链接、填写表单等,并且可以在代码中实现条件判断、异常处理等功能。...Selenium支持多种编程语言,如Java、Python、C#等,同时也支持多种浏览器,如Chrome、Firefox、Safari等。...该工具在使用时需要安装两个模块,首先读者需要自行安装selenium包,并且需下载与对应浏览器匹配的驱动程序。...from selenium import webdriverfrom selenium.webdriver.common.by import ByWebPath = "C:/Users/admin/AppData...,但是窗体的句柄其实还是停留在了百度首页上,定位的元素还是在百度上,此时我们就需要切换窗体句柄,也就是将当前句柄切换到百度贴吧页面上,此时才可读取该页面的完整源代码信息。

    1.1K30

    元素定位和定位辅助工具

    selenium grid,如果有ie,火狐,谷歌三大浏览器,想让三大浏览器同时执行我的代码。在不同的机器上执行,做这种分布式的模式,可以用这种selenium grid。...selenium grid要做webdriver能做出来的基础上再去做分布式执行才有意义。 2.webdriver是怎么工作的?...浏览器之间有些设置上的差异。 driver=webdriver.Chrome() 这段代码是怎么和驱动程序通信的呢? 有python,java,ruby,c#版本的webdriver。...web自动化和selenium webdriver用的是http请求,http协议。 访问个网址,点击个元素,相当于都是在发送一条http请求。...as EC from selenium.webdriver.common.by import By web自动化有8种定位方式在By这个类中,详情可以看源码。

    1.9K10

    Selenium Webdriver 3.X源码分析之switch_to.py

    > Selenium Webdriver 3.X源码分析系列第15篇,该系列原则上会将整个源码分享一遍 在基于selenium webdriver + python进行web自动化测试时,经常要进行windows...下面我们就selenium webdriver python端api源码进行分析说明,让大家进一步了解和掌握其使用方法,常用的切换api如下: 1....在switch_to.py主要提供了以下几个类、方法: SwitchTo类 实现了frame切换、windows切换能力,需要将webdriver对象传给该类型 ?...parent_frame SwitchTo类成员,提供了切换至当前frame的父frame的能力,如果当前frame是最顶层了,则停留在当前frame环境下。 ?...在公众号里回复一下关键字获取对应的系列文章 物联网 appium 大数据测试 RobotFramework Python 自动驾驶 jmeter selenium jenkins 接口测试 顺手点点点右下角的

    74910

    Python+Selenium2 搭建自动化测试环境

    4、Python + Selenium 示例 这里可以直接在python的编辑中编写如下程序,并保存hello_selenium.py 12345678 from selenium import webdriver...Selenium 多浏览器实现 构建Python+Selenium2自动化测试环境完成之后,就需要测试支持python的selenium的版本是否都支持在不同浏览器上运行,当前我们分别在三个最通用的浏览器上...] = iedriver driver = webdriver.Ie(iedriver)driver.get("https://blog.mimvp.com")assert "Python" in driver.title...3) Firefox 浏览器 在Firefox浏览器上运行测试脚本,具体如下: 12345678910111213 from selenium import webdriverfrom selenium.webdriver.common.keys...总结 通过以上三个不同浏览器上的测试,说明selenium在python中的运用于其Java版本都是一样。

    1.5K110

    Selenium WebDriver找不到元素的三种情况

    今天抽点时间总结下Selenium WebDriver找不到元素的情况。 当然这里说的是css或者XPath都没写错,定位准确,也并非使用了不稳定的定位语句。...在当前页面找不到这个元素了,但是你自己手动复制到页面开发者工具上查看明明有啊,为啥在代码里面就找不到了呢?...其实呢是在操作的过程中页面发生了变化,刷新了,虽然表面上看起来两个元素长得一模一样,事实上是每一个元素都有自己的一个ID号。 用代码(Python)来证明!...# -*- coding: utf-8 -*- from selenium import webdriver driver = webdriver.Chrome() driver.get('https:...解决: 只要刷新页面之后重新获取元素就行,不要提前获取一组元素,然后去循环操作每一个元素,这种情况还是获取元素的个数,然后在循环中获取相应位置的元素,在用的时候才去获取,这样你就获取到最新的id了,也不会出现找错人的尴尬了

    6.1K50
    领券