【笔记】太久没有写selenium了

以前qyqt和selenium用来开发一个自动化测试工具,现在回忆一下已经过了将近6年。

DeprecationWarning: find_element_by_* commands are deprecated. Please use find_element()

例如:find_element_by_xpath改为web.find_element(By.XPATH

from selenium.webdriver.common.by import By

find_element(By.ID,“id”) 等价于 find_element_by_id -->根据id属性定位

find_element(By.XPATH,"//div[@name=‘csdn’]") 等价于
find_element_by_xpath -->根据XPATH路径来定位

find_element(By.LINK_TEXT,“text”) 等价于 findfind_element_by_link_text
–>根据超链接标签匹配(精准匹配,匹配a标签的全部文本内容。)

find_element(By.PARTIAL_LINK,“partialtext”) 等价于 find_element_by_partial_link_text -->根据超链接标签匹配(非精准匹配,匹配a标签的部分文本内容。)

find_element(By.ID,“name”) 等价于 find_element_by_name -->根据name属性定位

find_element(By.TAG_NAME,“input”) 等价于 find_element_by_tag_name -->根据标签名定位,例如input标签

find_element(By.CLASS_NAME,“classname”) 等价于 find_element_by_class_name -->根据类名属性定位find_element(By.CSS,"#id") 等价于 find_element_by_css_selector -->根据css选择器名字定位

Message: 'geckodriver' executable needs to be in PATH

from selenium.webdriver.firefox.service import Service
s = Service("geckodriver.exe")
driver = webdriver.Firefox(service=s)

selenium.webdriver' has no attribute 'current_url'

用声明出来的driver来使用属性

保存图片

driver.find_element_by_xpath('//body/img[1]').screenshot("a.jpg")

screenshot_as_jpg()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/841920.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

excel表格写存神器--xlwt

原文链接:http://www.juzicode.com/python-tutorial-xlwt-excel 在 Python进阶教程m2d–xlrd读excel 中我们介绍了Excel表格的读取模块xlrd,今天这篇文章带大家了解Excel表格写存模块xlwt。他俩名字相近都以Excel的简写xl开头,rd是read的简写…

Java顺序表

Java顺序表 前言一、线性表介绍常见线性表总结图解 二、顺序表概念顺序表的分类顺序表的实现throw具体代码 三、顺序表会出现的问题 前言 推荐一个网站给想要了解或者学习人工智能知识的读者,这个网站里内容讲解通俗易懂且风趣幽默,对我帮助很大。我想与…

金融序列的布朗运动

https://zhuanlan.zhihu.com/p/659164160 python金融衍生品定价系列之一 —— 布朗运动与伊藤公式 导语:网络上和书本上关于期权定价相关的内容已经较为丰富,但将理论和python代码结合起来讲的却很少,这也是python金融衍生品定价系列的写作初衷,在用python实现相关模型的同…

Rating 计算公式

Rating ⁡ \operatorname{Rating} Rating 计算公式一般有多种,具体公式取决于使用情境和数据结构。 常用的环形排序算法的Rating计算公式是: Rating ⁡ R K ( P − E ) \operatorname{Rating} R K\times(P -E) RatingRK(P−E)其中, R …

春秋云境CVE-2018-20604

简介 雷风影视CMS是一款采用PHP基于THINKPHP3.2.3框架开发,适合各类视频、影视网站的影视内容管理程序,该CMS存在缺陷,可以通过 admin.php?s/Template/edit/path/*web*..*..*..*..*1.txt 的方式读取任意文件。 正文 1.进入靶场 2./admin…

AI学习指南数学工具篇-凸优化在支持向量机(SVM)中的应用

AI学习指南数学工具篇-凸优化在支持向量机(SVM)中的应用 在机器学习领域中,支持向量机(SVM)是一种经典的监督学习算法。SVM通过寻找最佳的超平面来进行分类,其优化核心是基于凸优化理论。本文将详细介绍凸…

【数据结构】二叉树-堆(上)

个人主页~ 二叉树-堆 一、树的概念及结构1、概念2、相关概念3、树的表示4、树的实际应用 二、二叉树的概念和结构1、概念2、特殊二叉树3、二叉树的性质4、二叉树的存储结构(1)顺序存储(2)链式存储 三、二叉树的顺序结构以及实现1、…

【C++】——入门基础知识超详解

目录 ​编辑 1.C关键字 2. 命名空间 2.1 命名空间定义 2.2 命名空间使用 命名空间的使用有三种方式: 注意事项 3. C输入&输出 示例 1:基本输入输出 示例 2:读取多个值 示例 3:处理字符串输入 示例 4:读…

Python并发编程大揭秘:打造你的多任务处理超能战队!

今天给大家带来的是学习如何构建一个能够同时处理海量任务的超级团队。从简单的线程和锁,到复杂的异步IO和多进程部署,每一个工具都像是你团队中的一员,各有所长,共同协作! 文章目录 Python进阶之并发和并行编程详解1.…

【Linux-INPUT输入的子系统】

Linux-INPUT输入的子系统 ■ input 子系统简介■ input 驱动编写流程■ ■ input 子系统简介 input 子系统就是管理输入的子系统, input 子系统分为 input 驱动层、 input 核心层、 input 事件处理层,最终给用户空间提供可访问的设备节点 ■ input 驱…

leetcode打卡#day39 738. 单调递增的数字

738. 单调递增的数字 class Solution { public:int monotoneIncreasingDigits(int N) {string strNum to_string(N);// flag用来标记赋值9从哪里开始// 设置为这个默认值,为了防止第二个for循环在flag没有被赋值的情况下执行int flag strNum.size();for (int i …

【Linux-中断】

Linux-中断 ■■■ ■■■ ■■■ ■ ■ ■ ■ ■ ■ ■ ■ ■

React类组件生命周期详解

在React的类组件中,从组件创建到组件被挂载到页面中,这个过程react存在一系列的生命周期函数,最主要的生命周期函数是componentDidMount、componentDidUpdate、componentWillUnmount 生命周期图例如下 1. componentDidMount组件挂载 如果你…

S1E45:单链表1 课后作业

测试题:0. 相比起数组来说,单链表具有哪些优势呢? 答:长度非固定,可以申请添加长度 答案:对于数组来说,随机插入或者删除其中间的某一个元素,都是需要大量的移动操作,而…

网络攻击攻击之-远程命令执行/RCE告警运营分析篇

在各种网络安全产品的告警中,远程命令执行是一种非常常见的告警。本文将从远程命令执行的定义,远程命令执行利用的流量数据包示例,远程命令执行的suricata规则,远程命令执行的告分析警研判,远程命令执行的处置建议等几个方面阐述如何通过IDS/NDR,态势感知等流量平台的远程…

深入解析RPC技术:原理、实现与应用

RPC(Remote Procedure Call,远程过程调用)是一种计算机通信协议,允许一个程序(客户端)在本地调用另一个程序(服务器)中的函数或方法,并获取返回结果,就像调用…

栈和队列的区别

栈和队列是两种常用的数据结构,它们在数据的存取方式、适用场景和基本操作上有显著的区别。以下是它们的详细区别: 1. 存取方式 栈(Stack): 后进先出(LIFO, Last In First Out):最…

C++:STL简介和容器string用法篇

一、STL简介 STL是C中的标准模板库(Standard Template Library)的缩写。它是C标准库的一部分,提供了一系列的数据结构和算法模板,包括各种容器、算法、迭代器、仿函数等,用于简化和加速C程序的开发过程。STL的设计理念…

人形机器人建模与控制(二) - 高级运动学和动态建模

L2: Advanced Kinematic and Dynamic Modeling 这里写目录标题 L2: Advanced Kinematic and Dynamic Modeling1. Introduction2. Kinematic Modeling运动学方程速度的雅可比矩阵雅可比矩阵的两种形式分析雅可比矩阵(Analytical Jacobian)几何雅可比矩阵&…

【波点音乐看广告】

import uiautomator2 as u2 import time from datetime import datetime import xml.etree.ElementTree as ET import re import os 连接设备 d u2.connect() os.system(‘adb shell chmod 775 /data/local/tmp/atx-agent’) os.system(‘adb shell /data/local/tmp/atx-age…