Python selenium

Python Web 自动化测试学习(一)---环境搭建 Python Web 自动化测试学习笔记(一)---环境搭建一、Windows 环境搭建二、使用Selenium调用不同的浏览器我遇到的问题原因 一、Windows 环境搭建 1、java下载与安装 1)下载所用版本(jdk1.8.0_131),并安装 2)配置Java环境变量,即把安装目录下的bin目录加到path 和 classpath(如无,则新建一个) 环境变量 3)进入cmd环境,直接输... 阅读详情

1.搭建环境

1.安装:

pip install msedge-selenium-tools

不要使用pip install selenium,我的电脑上没法运行

2.下载驱动  

Microsoft Edge WebDriver |Microsoft Edge 开发人员

edge浏览器点设置---关于即可找到版本号,一定要下载对应版本的驱动 

我的电脑是64位的,下载了x64的,但是运行时报错:OSError: [WinError 216] 该版本的 %1 与你运行的 Windows 版本不兼容。请查看计算机的系统信息,然后联系软件发布者。

下载win32的selenium解决

又报错:ValueError: Timeout value connect was <object object at 0x000001C609CC8630>, but it must be an int, float or None.

python selenium报错ValueError: Timeout value connect was <...>, but it must be an int, float or None._raise valueerror( valueerror: timeout value connec-优快云博客

python selenium报错ValueError: Timeout value connect was <...>, but it must be an int, float or None._raise valueerror( valueerror: timeout value connec-优快云博客 

 继续报错:ModuleNotFoundError: No module named 'urllib3.packages.six.moves'
pip show selenium
Name: selenium
Version: 3.141.0
Summary: Python bindings for Selenium
Home-page: https://github.com/SeleniumHQ/selenium/
Author: UNKNOWN
Author-email: UNKNOWN
License: Apache 2.0
Location: C:\Users\15269\AppData\Local\Programs\Python\Python312\Lib\site-packages
Requires: urllib3
Required-by: msedge-selenium-tools

重装1.26.12的urllib3解决(我使用的是python3.12)如果还不行就多换几个试试 

测试代码
from msedge.selenium_tools import Edge, EdgeOptions

options = EdgeOptions()
options.use_chromium = True
options.add_experimental_option('excludeSwitches',['enable-automation'])  # 开启开发者模式
options.add_argument('--disable-blink-features=AutomationControlled')  # 禁用启用Blink运行时的功能
options.binary_location = r'C:\Program Files (x86)\Microsoft\EdgeCore\113.0.1774.50\msedge.exe'
url = 'https://www.baidu.com/'

driver = Edge(options=options, executable_path='./msedgedriver.exe')
driver.get(url)

二、带有用户数据的爬虫参考

以下内容转载自这位大佬的博客:

使用 Selenium 启动的 Chrome 浏览器,默认是无法使用本地数据的,如表单项、密码、Cookies 等。

原因分析

这是由于 Selenium 在启动 Chrome 时,默认将命令行参数 --user-data-dir(该参数用于设置用户数据目录)设为了一个“临时目录”,如下图所示:

在 Selenium 启动的 Chrome 浏览器的地址栏中输出 chrome://version 并回车,就可以打开上图这个界面。

查看默认的用户数据目录的

手动打开一个 Chrome 浏览器,在地址栏中输出 chrome://version 并回车,找到 Profile Path: 后面的路径,去掉最后的 \Default,就是默认的用户数据目录,它一般都是:C:\Users\Your_User_Name\AppData\Local\Google\Chrome\User Data。

将默认的用户数据目录设为 Selenium 启动的 Chrome 的用户数据目录

代码如下:

import time
from selenium import webdriver
from selenium.webdriver.chrome.service import Service

options = webdriver.ChromeOptions()
options.add_argument(r'user-data-dir=C:\Users\Your_User_Name\AppData\Local\Google\Chrome\User Data')
#  --user-data-dir 前的两个短杠似乎有没有均可

browser = webdriver.Chrome(
    options=options,
    service=Service()  # 需要将 Chrome 驱动放在此文件的同一目录下
)

browser.get('https://mail.163.com/')   # 此处以 163 邮箱为例,因为 163 邮箱的 Cookies 可以在本地保存 30 天。
time.sleep(120)

对于edge浏览器:edge://version/

三、实战应用

stm官网登录

登陆界面网址:登录注册 (stmicroelectronics.cn)

右键检查,找到用户名&密码&登录按钮的路径,并写出相应js代码。之后在控制台测试

document.getElementById("username").value = "你的用户名"
document.getElementById("password").value = "你的密码"
document.querySelector(".an_lan").click() //登录

 完整代码

from msedge.selenium_tools import Edge, EdgeOptions




class Demo:
    def __init__(self) -> None:
        #keep alive为True,即处理完后不会关闭edge
        options = EdgeOptions()
        options.use_chromium = True
        options.add_experimental_option('excludeSwitches',['enable-automation'])  # 开启开发者模式
        #用户数据
        #options.add_argument(r'user-data-dir=C:\Users\15269\AppData\Local\Microsoft\Edge\User Data')

        options.add_argument('--disable-blink-features=AutomationControlled')  # 禁用启用Blink运行时的功能
        options.binary_location = r'C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe'


        self.webdriver = Edge("./msedgedriver.exe", keep_alive=True, options=options)
        self.login_url = r"https://sso.stmicroelectronics.cn/User/LoginByPassword"
        self.username = "。。。"
        self.password = "@。。。"
    
    def login(self):
        payload = f"""
        document.getElementById("username").value = "{self.username}"
        document.getElementById("password").value = "{self.password}"
        document.querySelector(".an_lan").click() //登录
        """
        self.webdriver.get(self.login_url)
        self.webdriver.execute_script(payload)

    def run(self):
        self.login()


if __name__ == "__main__":
    Demo().run()

python+selenium,详解selenium原理。 鉴于很多同学对原理都处于懵逼状态,那么就仔细阅读这篇文章然后自己去体会。 1.在之前学过的接口测试里面我们事如何做接口测试的? 首先是python请求了一个接口地址,发送对应的参数,然后拿到服务器给我们的返回值。那有人肯定不知道这个服务器为什么会给我们返回值? 拓展下: 当你拿着一个地址去请求后端服务器的时候,实际上是去调用后端程序员哥哥写的一个函数,每一个地址(地址实际上是后端程序员哥哥设置的不... 阅读详情

相关推荐

Python 爬虫selenium

selenium可以操作浏览器,在浏览器页面上实现:点击、输入、滑动 等操作。

dme.的博客 1907

OSError: [WinError 216] 该版本的 %1 与您运行的 Windows 版本不兼容。

这里写自定义目录标题欢迎使用Markdown编辑器用selenium打开谷歌浏览器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图...

Remi_X的博客 1万+

使用Python安装Selenium

本文介绍了如何在Python中安装Selenium,并提供了一个简单的示例代码。安装Selenium后,你可以使用它来自动化浏览器操作,进行自动化测试、数据抓取等任务。记得根据你使用的浏览器下载相应的驱动程序,并将其添加到系统的环境变量中,以便Selenium能够正常使用。安装Python之后,我们可以使用Python的包管理工具pip来安装Selenium。根据你使用的浏览器,选择对应的驱动程序。下载完驱动程序后,将驱动程序的路径添加到系统的环境变量中,这样Selenium才能找到并使用它。

WELL_CODER的博客 1872

Python中Selenium的使用

目录 Selenium简介 安装Selenium-Python Selenium-Server的安装与使用 Selenium常用操作 请求一个页面 查找元素 填写表格 拖放 在不同的窗口和框架之间移动 访问浏览器历史记录 操作Cookies 等待页面加载完成 显式等待 隐式等待 页面对象 python_test.py page.py element.py ...

pengjunlee的博客 3万+

python模块urllib3.zip

使用Python 3.x版本运行py文件时报错 No module named 'urllib3' 一开始参照网上的安装方法通过pip来安装,未成功pip install urllib3 后面找到了这个文件,分享给大家。 使用方法是下载解压后,cmd里切换到解压后的文件夹,输入python setup.py install就可以了

对python内置map和six.moves.map的区别详解

今天小编就为大家分享一篇对python内置map和six.moves.map的区别详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

python怎么装selenium?python装selenium教程

在 Python 中安装 Selenium 是一个相对简单的过程。以下是安装 Selenium 的步骤:确保 Python 已安装: 首先,你需要确保你的计算机上已经安装了 Python。你可以在命令行中输入 python --version 来检查是否已安装 Python。安装 pip:pip 是 Python 的包管理...

weixin_32252533的博客 407

Matlab使用GitHub的踩坑记录(持续更新)

Matlab使用git的踩坑记录前言Matlab设置Git的官方帮助文档系统配置新建Git两种代码管理方式典型源代码管理SVN分布式源代码管理 Git注意:SVN和Git都可以用GitHub创建新的库 前言 作为Git初学者,对Git的代码版本管理非常非常喜欢,给了我极大的安全感。特别是想到之前的几次Matlab、Latex和python的代码莫名其妙被折腾没了又没法找回的悲剧,决定慢慢的走入gi...

voluntry的博客 7296

python selenium下载_Python Selenium安装下载

本篇讲解Python Selenium如何安装,下载。本篇已假定你已经熟悉Python,并且已安装好Python和pip。本篇及以后篇幅所讲代码都调试运行在Python3.6版本上通过。Python selenium安装两种安装方法,第一种方法最方便,使用pip安装。windows用户在命令提示符下执行如下命令:pip install seleniumlinux用户你肯定知道怎么运行这个命令的。安...

weixin_39622760的博客 1125

骗分导论 CSP、NOIP、蓝桥杯、PAT、USACO等竞赛的算法骗分技巧 轻松省三

问题来了,那么多座桥,炸一座就破坏岛屿的联系,可能性微乎其微(除非特别设计数据)。它们的价值极大,不仅能初步帮你检验程序的对错,而且,如果你不会做这道题,你就可以直接输出样例!在OI考试中最后难的题数据最后的几个,他们往往不会创造新的数据,此时就可以直接输出最后几个数据了。需要运用《骗分导论》第3章中学到的知识,先写出朴素算法,然后造一些数据,可能就会发现规律。有些时候,问题的答案可能很有特点:对于大多数情况,答案是一样的。据说,在NOIP2013中,有人最后一题不会,愤然打了个随机数,结果得了。

星卯教育-信奥教练tony 6403

蓝牙钥匙 第48次 全面解析防中继攻击保护:从原理到防护技术实践

中继攻击已成为物联网安全领域的重要威胁,2023年全球相关损失达数十亿美元。本文深入分析中继攻击原理,揭示其通过转发设备延长通信距离而不破解加密的特点。重点探讨两种关键防护技术:基于距离测量的方法(包括UWB超宽带技术)可精确检测异常距离;基于时间戳的挑战-响应机制则通过严格时间窗口识别中继延迟。文章还提出多层次防护体系构想,结合AI异常检测和量子安全协议等前沿技术。研究显示,集成多种防护技术并遵循行业标准是应对中继攻击的有效途径,为物联网设备安全提供重要参考。

IT深耕十余载,大道之简 1821

Python爬虫之selenium

Python爬虫之selenium一:Selenium介绍二:selenium常用操作2.1 关闭页面2.2:定位元素2.3:操作表单元素2.4 行为链2.5 Cookie操作2.6 页面等待2.7 切换页面2.8 设置代理ip2.9 WebElement元素2.10 无界面浏览器 一:Selenium介绍 Selenium相当于是一个机器人。可以模拟人类在浏览器上的一些行为,自动处理浏览器上的一些行为,比如点击,填充数据,删除cookie等。chromedriver是一个驱动Chrome浏览器的驱动程序,

860

5分钟搞定PaddleOCR PP-OCRv5环境搭建:从安装到第一个识别Demo

本文提供了一份详细的PaddleOCR PP-OCRv5环境搭建与快速入门指南。通过清晰的步骤,指导读者在5分钟内完成从创建Python虚拟环境、安装PaddlePaddle框架和PaddleOCR库,到编写并运行第一个OCR识别Demo的全过程,帮助开发者快速体验最新的PP-OCRv5模型的文字识别能力。

sprite的博客 1266

Python安装Selenium

方法一用cmd安装selenium 在cmd中输入pip3 install selenium 注意:这里输入pip或者pip3根据个人 1、pip是python的包管理工具,pip和pip3版本不同,都位于Scripts\目录下: 2、如果系统中只安装了Python2,那么就只能使用pip。 3、如果系统中只安装了Python3,那么既可以使用pip也可以使用pip3,二者是等价的。 4、如果系统中同时安装了Python2和Python3,则pip默认给Python2用,pip3指定给Python3用。 5

weixin_51996298的博客 6658

PLC框架-1.3- 汇川PN伺服(3号报文)

本文以汇川IS620F伺服为例,详细介绍了FB_Servo_ToAxis功能块的应用方法。该功能块封装了MC_Home等轴控指令,实现使能、定位、点动、速度模式及回零等功能,支持转矩限制与显示,并具备行程统计和HMI单位自动切换特性。文章从硬件配置(PN网络连接、报文选择)、参数设置(控制模式、电子齿轮比),到软件实现(功能块调用、手动/自动控制逻辑)进行了系统说明,重点展示了绝对/相对定位、速度模式等典型应用场景的程序编写方法,为汇川伺服在Profinet网络下的工程应用提供了完整解决方案。

qq_34047402的博客 755

【WorkBuddy从入门到精通实战教程】使用手册 第 1 章 初识 WorkBuddy

腾讯推出全场景AI办公助手WorkBuddy,突破传统聊天机器人局限,实现从需求理解到结果交付的全流程自动化。该工具通过自然语言交互,可自主规划执行复杂任务,包括文件处理、数据分析、PPT制作等,支持多模型切换和技能扩展。内置权限管控机制确保本地文件操作安全,显著降低人工切换工具的成本,提升职场效率。

企鹅码农的专属播客,分享10多年的实战案例和经验解读,包含YOLO、RT-DETR、AI等各个工作领域。 1256

Python之selenium爬取

selenium爬取

2401_86155536的博客 1055

数据权限设计

随着IT新技术不断完善成熟,企业数字化建设得到全面的发展,数据将成为一个创造财富的重要来源,并且越来越多地被视为一项值得重视的企业资产。未来,很多企业之间的竞争,其实也是资源和数据竞争。那么针对数据资产,如何保障它的安全性呢?数据的权限管理无疑是必不可少的。数据权限从数据源来控制不同的用户能够查看、使用和授权不同的数据表数据(其实就是数据表行列的管控),就如同筑起了一道道护城墙,为数据安全提供了保障。

qq_40664711的博客 1万+

python selenium怎么安装_Python+Selenium的安装

Selenium[1]也是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7、8、9)、Mozilla Firefox、Mozilla Suite等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建衰退测试检验软件功能和用户需求。支持自动录制...

weixin_33670167的博客 202

“/usr/lib/wsl/wsl-setup“ failed, exiting

WSL2安装Ubuntu时出现"wsl-setup failed"错误的解决方法 摘要:当Windows用户名包含中文字符时,安装WSL2+Ubuntu会出现"wsl-setup failed"错误。本文提供两种解决方案:1)修改中文用户名(风险较大);2)通过命令手动配置。推荐第二种方法:先使用"wsl -l -v"查看Ubuntu名称,再通过"wsl -d Ubuntu20.04 -e /bin/bash"命令启动WSL2系

猿小白的博客 993

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

python selenium安装_python+selenium 安装及部署

前言目前selenium版本已经升级到3.0了,网上的大部分教程是基于2.0写的,所以在学习前先要弄清楚版本号,这点非常重要。本系列依然以selenium2为基础,目前selenium3坑比较多,暂时没精力去研究,后续会出相关教程。一、selenium简介Selenium 是用于测试 Web 应用程序用户界面 (UI) 的常用框架。它是一款用于运行端到端功能测试的超强工具。您可以使用多个编程语言编...

weixin_39938269的博客 166

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Python+Pycharm安装Selenium以及Selenium IDE的安装

点击环境变量然后在path中新建一个path,将C:\Program Files\Google\Chrome\Application复制进去即可。Selenium IDE 是一个用于 Web 测试的集成开发环境。将chromedriver.exe文件分别放到谷歌浏览器的文件路径和python的文件路径下。找到对应的版本号chromedriver,最前面的【113】就是我们的版本号。下载之前我们需要知道自己的Chrome浏览器是什么版本。下载完成后是一个crx的文件。导入之前下载的py文件,运行。

weixin_43977759的博客 2917

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

python调用selenium_如何在python中使用selenium

最近基于selenium写了一个python小工具,记录下学习记录,自己运行的环境是Ubuntu 14.04.4, Python 2.7,Chromium 49.0,ChromeDriver 2.16selenium简介selenium提供了一个通用的接口,可模拟用户来操作浏览器,比如用于自动化测试等.selenium的核心是WebDriver,它提供了一组接口,这些接口能够操作各种跨平台的浏览器...

weixin_28707535的博客 548

Python selenium 库

不同的浏览器需要不同的 WebDriver,例如 Chrome 浏览器需要 ChromeDriver,你需要根据你使用的浏览器下载相应的 WebDriver,并确保它在你的系统 PATH 中。要开始使用 Selenium,首先需要安装 selenium 库,并下载适用于你浏览器的 WebDriver。当国内的网络环境,自动检测下载驱动需要不一样的网络环境,所以建议手动下载驱动,然后指定驱动路径。下面是一个简单的 Selenium 项目示例,用于自动化搜索关键词,并获取结果页面的标题。

qq_25502783的博客 873
上一篇: PCB学习记录---原理图
下一篇: USB拓展坞PCB
python_use
博客等级 码龄5年 430粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值