首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何将上一页的值与新打开的网页中的值进行比较

如何将上一页的值与新打开的网页中的值进行比较
EN

Stack Overflow用户
提问于 2017-06-30 03:13:52
回答 2查看 278关注 0票数 0

在用户单击“事务号”链接后,我试图将页面中显示的事务号与下一页中显示的事务号进行比较。

我尝试了以下几点:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//  -----------------------Selecting values in the form-------------------
// Call the function to select a date from calendar e.g. 2016/04/19        
        ClaimsOnline_fields.pickExpDate("19",4,2016);

// In the Transaction Types dropdown, select a value e.g. "Realtime Transactions Only"
        TransTypesDrop = new Select(drivers.findElement(By.xpath(".//*[@id='type']")));
        TransTypesDrop.selectByVisibleText("Realtime Transactions Only");       

// In the Dataset dropdown, select a value e.g. "5 - DJCJ0005" 
        DatasetDrop = new Select(Utilities.drivers.findElement(By.xpath(".//*[@id='logbook_form']/table/tbody/tr[1]/td/fieldset/table/tbody/tr[7]/td[2]/select")));
        DatasetDrop.selectByVisibleText("5 - DJCJ0005");        

// Click the Show button        
        drivers.findElement(By.xpath(".//*[@id='logbook_form']/table/tbody/tr[2]/td/input[1]")).click();

        Utilities.wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("html/body/table[2]")));

        batchVal = drivers.findElements(By.className("results"));

//----------------------- Drill into test result --------------------------                        

List<String> all_elements_text=new ArrayList<>();
//        Click the first result
        for(int i=0; i<batchVal.size(); i++ ){

//            Click the Transaction No of the first result
            batchVal.get(1).click();            

//            The next page is opened
            Utilities.wait.until(ExpectedConditions.presenceOfElementLocated(By.className("jqi")));
            Utilities.wait.until(ExpectedConditions.visibilityOfElementLocated(By.className("jqi"))); 

            drivers.findElement(By.className("jqidefaultbutton")).click(); 

            Utilities.wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("html/body/p")));

            String TransNo = drivers.findElement(By.xpath("html/body/p")).getText();

            Utilities.wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("html/body/p")));

//            Add the value from the search result into the array
            all_elements_text.add(batchVal.get(i).getText());

//            get the currently displayed Transaction Num
            String TransNoTrimmed = TransNo.substring(34,48);

//            
            if(all_elements_text.get(1).equals(TransNoTrimmed)){
                System.out.println("Test Passed - Claims Online - Logbook - Drill into Results - Transaction Number matches one displayed in the drilled results i.e. "+TransNoTrimmed);
            }
            break;
        }

当我运行这个程序时,我会得到以下错误:

线程"main“org.openqa.selenium.StaleElementReferenceException:陈旧元素引用中的异常:元素未附加到页面文档(会话信息: chrome=59.0.3071.115) (驱动程序信息: chromedriver=2.29.461591 (62ebf09877172160f391d75e589dc567915b233),platform=Windows NT 10.0.10240 x86_64) (警告:服务器没有提供任何堆栈跟踪信息)

EN

回答 2

Stack Overflow用户

发布于 2017-06-30 03:19:23

替换下面一行。

batchVal.get(1).click();

使用

drivers.findElements(By.className("results")).get(i).click();

为了避免StaleElementReferenceException

这里发生的事情是,您已经创建了WebElements对象,然后单击该页面。单击后页面的某些部分会发生变化,因此存储的元素会变得陈旧,这就是Webdriver告诉您的。

票数 1
EN

Stack Overflow用户

发布于 2017-06-30 05:37:17

只需下载selenium的新铬扩展文件并使用selenium 3即可。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44845132

复制
相关文章
如何对矩阵中的所有值进行比较?
需求相对比较明确,就是在矩阵中显示的值,需要进行整体比较,而不是单个字段值直接进行的比较。如图1所示,确认矩阵中最大值或者最小值。
逍遥之
2020/05/14
7.7K0
[Go] golang中接口值(interface)的比较
当写项目的过程中 , 有时候进行逻辑判断 , 如果没注意对两个interface类型的变量进行比较 , 会造成混乱问题
唯一Chat
2021/01/21
3.8K0
关于Java中的整数类型值比较的疑问
本文为joshua317原创文章,转载请注明:转载自joshua317博客 https://www.joshua317.com/article/164
joshua317
2021/10/19
1.1K0
js原始值与对象的相等比较
let a = []; let b = “0”; // 1 console.log(a0); // true // 2 console.log(a!a);// true // 3 console.log(ab); // false // 4 console.log(b0); // true
马克社区
2022/07/01
2.2K0
关于 Integer 值比较的问题
今天刚好遇到这样的问题,别的不说,先上代码 public class TestInteger { public static void main(final String[] args) { final Integer a = 500; final Integer b = 500; final Integer c = 100; final Integer d = 100; System.out.println("a=b
Dato
2018/04/17
1.2K0
整型包装类值的比较
当使用自动装箱方式创建一个Integer对象时,当数值在-128 ~127时,会将创建的 Integer 对象缓存起来,当下次再出现该数值时,直接从缓存中取出对应的Integer对象。所以上述代码中,x和y引用的是相同的Integer对象。
黑洞代码
2021/01/14
1.2K0
整型包装类值的比较
当使用自动装箱方式创建一个Integer对象时,当数值在-128 ~127时,会将创建的 Integer 对象缓存起来,
Vincent-yuan
2021/03/12
9760
获取HTML网页中option标签元素的值
在进行表单元素的操作时,难免会遇到对option元素的挑选,下面的示例代码能够很好的获取到你option元素选择的值,如果要传递给后端,可通过ajax或者其他方式传递即可。 示例代码
呆呆
2021/10/09
7.5K0
如何根据函数返回的值对dart中的List进行排序
# 关于排序:如何根据函数返回的值对dart中的List进行排序 void main(){ List<POJO> pojo = [POJO(5), POJO(3),POJO(7),POJO(1)]; // fill list pojo..sort((a, b) => a.id.compareTo(b.id)); for(var i in pojo){ print(i.id); // prints list in sorted order i.e 1 3 5 7 } }
徐建国
2021/08/26
11.6K0
[Go] golang中接口值(interface)与nil比较或指针类型之间比较的注意问题
注意问题 , 当对interface变量进行判断是否为nil时 , 只有当动态类型和动态值都是nil , 这个变量才是nil
唯一Chat
2021/01/21
1.9K0
JavaScript 中的真值与假值
会进行真值,假值判断的地方 if,else if switch while,for &&,||:逻辑与逻辑或 !!: 转化成布尔值 假值 undefined null 0,+0,-0 NaN '' "" false 验证代码 var falseyValue = undefined || null || 0 || +0 || -0 || NaN || '' || "" || false; if (falseyValue) { } else if (falseyValue) { } else
前端GoGoGo
2018/08/24
1K0
R中重复值、缺失值及空格值的处理
1、R中重复值的处理 unique函数作用:把数据结构中,行相同的数据去除。 #导入CSV数据 data <- read.csv('1.csv', fileEncoding = "UTF-8", stringsAsFactors = FALSE); #对重复数据去重 new_data <- unique(data) 重复值处理函数:unique,用于清洗数据中的重复值。 “dplyr”包中的distinct() 函数更强大: distinct(df,V1,V2) 根据V1和V2两个条件来进行去重 uniq
Erin
2018/01/09
8.2K0
DTO与值对象和POJO比较
本文想澄清DTO与Value Object与POCO的区别,其中DTO代表数据传输对象,而POCO是Plain Old CLR Object,在Java环境中也称为POJO。
lyb-geek
2018/12/24
2.2K0
SVD奇异值分解 中特征值与奇异值的数学理解与意义
更像是矩阵分解多一点,没有涉及到SVD的数学意义,这篇博客大概会写一些数学SVD的数学理解,以及SVD在PCA和推荐算法上面的应用。
大鹅
2021/06/16
2.2K0
python中griddata的外插值_利用griddata进行二维插值
实际问题可以抽象为 \(z = f(x, y)\) 的形式,而你只知道有限的点 \((x_i,y_i,z_i)\),你又需要局部的全数据,这时你就需要插值,一维的插值方法网上很多,不再赘述,这里仅介绍二维的插值法
全栈程序员站长
2022/09/01
3.8K0
Java中的值传递与引用传递
在Java编程中,我们常常听到关于值传递和引用传递的讨论。这两个概念涉及到数据在方法之间如何传递的问题。理解这些概念对于正确编写Java程序至关重要。在本文中,我们将深入探讨什么是值传递和引用传递,以及为什么Java中只有值传递这一问题。
疯狂的KK
2023/09/07
3590
Java中的值传递与引用传递
.NET中的值类型与引用类型
这是一个常见面试题,值类型(Value Type)和引用类型(Reference Type)有什么区别?他们性能方面有什么区别?
AI.NET 极客圈
2019/08/09
1.9K0
如何删除 JavaScript 数组中的虚值[每日前端夜话0x55]
翻译:疯狂的技术宅 原文:https://medium.freecodecamp.org/how-to-remove-falsy-values-from-an-array-in-javascript-e623dbbd0ef2
疯狂的技术宅
2019/05/06
9.6K0
如何删除 JavaScript 数组中的虚值[每日前端夜话0x55]
java Integer值比较
所有相同类型的包装类对象之间的值比较,应该使用equals方法比较。 –来自阿里巴巴java开发手册。 先看个简单实例: public static void main(String[] args)throws Exception{ Integer a = -121; Integer b = -121; Integer c = 345; Integer d = 345; System.out.println(a
IT云清
2019/01/22
1.8K0
三值 bool? 进行与或运算后的结果
bool? 实际上是 Nullable<Boolean> 类型,可以当作三值的 bool 类型来使用。不过三值的布尔进行与或运算时的结果与二值有什么不同吗? 重载条件逻辑运算符“与”(&&)“或”(|
walterlv
2020/02/10
7270

相似问题

vbscript将上一个值与新值进行比较

10

将新值与以前的值进行比较

20

将旧值与表单的新值进行比较

31

将数组中的新CGPoint值与CGPoint值进行比较

10

保存当前值并将其与JavaScript中变量的新值进行比较

25
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文