首页 > 其他分享 >selenium笔记之一些个人经验

selenium笔记之一些个人经验

时间:2023-05-05 20:36:19浏览次数:26  
标签:webDriver 经验 executeScript JavascriptExecutor selenium 笔记 element 点击 页面

记录我避过坑之后,自认为好用的一些方法

一、元素定位

不再赘述有多少种类了

虽然很多,但是我尝试使用用的最多最稳定的还是:

.xpath

这是我认为也是我用着最靠谱的一种方法

二、点击

我最开始看文档,用的是element.click()方法,但是发现,有些“变动”的元素或者一些其它可点击的标签不管用

后来最多用的就是这个((JavascriptExecutor)webDriver).executeScript("arguments[0].click();", element);

这个是我自己用着比较兼容比较稳定的点击方式

三、刷新

有时候粗暴的想恢复页面的时候,就调用浏览器刷新即可

webDriver.navigate().refresh();

同样,如果是原页面点击换成了其它页面,就调用浏览器回退即可

webDriver.navigate().back();

四、滚动

页面很长滚动加载的时候,需要滚动到指定位置才能获取到元素

((JavascriptExecutor) webDriver).executeScript("window.scrollBy(0,200)");

或者

int yx = 某个element.getLocation().y - 100;
String var = "window.scrollTo(0," + yx + ")";
((JavascriptExecutor) webDriver).executeScript(var);

 

先有理论然后在不断试错中实践,加上一些个人的喜好和偏向,总结出来的都是个人经验,欢迎讨论~

 

 

 

 

标签:webDriver,经验,executeScript,JavascriptExecutor,selenium,笔记,element,点击,页面
From: https://www.cnblogs.com/happiness30/p/17375282.html

相关文章

  • 【CacheLine】关于缓存行的笔记(存疑)
    什么是缓存行Cache是由很多个cacheline组成的。每个cacheline通常是64字节,并且它有效地引用主内存中的一块儿地址。一个Java的long类型变量是8字节,因此在一个缓存行中可以存8个long类型的变量。CPU每次从主存中拉取数据时,会把相邻的数据也存入同一个cacheline。在访问一......
  • 「学习笔记」AC 自动机
    「学习笔记」AC自动机点击查看目录目录「学习笔记」AC自动机算法问题思路代码例题KeywordsSearch玄武密码单词病毒最短母串文本生成器背单词密码禁忌前置:「学习笔记」字符串基础:Hash,KMP与Trie。好像对例题的讲解越来越抽象了?算法问题求\(n\)个单词在一个长度为\(......
  • 记录-Symbol学习笔记
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助Symbol是JavaScript中的原始数据类型之一,它表示一个唯一的、不可变的值,通常用作对象属性的键值。由于Symbol值是唯一的,因此可以防止对象属性被意外地覆盖或修改。以下是Symbol的方法和属性整理:属性Symbol.length......
  • C# 使用AForge调用笔记本摄像头拍照及录像
    1、添加引用1、官网下载链接:http://www.aforgenet.com/framework/downloads.html2、通过管理Nuget程序包可直接添加以下引用,当然这里并没有全部用上,而只是用上了一部分在添加完这些引用之后VS的工具箱当中会多出AForge.NET相关的一些控件,而实现调用摄像头就需要使用到这些控件......
  • 人工智能学习入门学习笔记 1
    目前人工智能算法分哪几类,哪些是需要训练的?人工智能算法通常可以分为以下几类:1. 监督学习(SupervisedLearning):需要有标注数据,即输入数据与输出结果是已知的,算法通过学习这些数据来建立一个输入到输出的映射模型。例如,图像分类、自然语言处理和预测等任务。2. 无监督学习(Unsupervi......
  • FFT学习笔记
    快速傅里叶变换多项式定义不严谨定义:形如\(f(x)=\sum\limits_{i=0}^{n}a_ix^i\)的式子为多项式。定义(fromOIWiki):对于求和式\(\suma_nx^n\),如果是有限项相加,称为多项式,记作\(f(x)=\sum\limits_{n=0}^ma_nx^n\)。次数:对于多项式\(F(x)=\sum\limits_{i=0}^{n......
  • JAVA笔记2
    Java语言基础包括以下内容:数据类型:Java的数据类型分为基本数据类型和引用数据类型两种。其中,基本数据类型包括整型、浮点型、字符型和布尔型,而引用数据类型则包括类、接口、数组等。运算符:Java支持多种运算符,包括算术运算符、比较运算符、逻辑运算符、位运算符等。这些运算......
  • nmap使用笔记
    nmap官网常用命令参数及示例命令参数目标明细单:可以传递主机名、IP地址、网络等。例如:scanme.nmap.org,microsoft.com/24,192.168.0.1;10.0-255.0-255.1-254-iL<inputfilename>从文件中输入要扫描的主机-iR<numhosts>选择随机的目标--exclude<host1[,host2][,host3......
  • 云原生学习笔记-DAY3
    etcd进阶和K8s资源管理1etcd进阶1.1etcd配置etcd没有配置文件,配置是从serivce文件里面加载参数实现的1.2etcd选举机制1.2.1选举简介etcd基于Raft算法进行集群角色选举,使用Raft的还有Consul、InfluxDB、kafka(KRaft)等。Raft算法是由斯坦福大学的DiegoOngaro(迭戈......
  • python笔记-数据类型
    获取数据类型type(val)iftype(1)==int:print('1是int类型')iftype('hello')==str:print('1是字符串类型')iftype(1.5)==float:print('1是float类型')iftype([1,2])==list:print('1是list类型')类型转换prin......