selenium+java+maven - 实现元素点击行为

本文详细介绍了两种常见的WebElement点击方法:click()方法及JavaScriptExecutor的使用技巧。这两种方法各有适用条件,click()方法适用于元素在HTMLDOM中存在且可见的情况;而JavaScriptExecutor则更灵活,只要元素存在于HTMLDOM即可。
摘要由CSDN通过智能技术生成

1. WebElement 的 click()方法,如下条件时可以使用:

   使用方法:

   // WebElement webElement;已通过某种方式获取到webElement

  webElement.click();

  条件:

     条件1:元素在HTML DOM中存在

     条件2:元素display属性不为none

     条件3:不存在元素堆叠(例如,可直接肉眼看到的元素等),或者存在元素堆叠,但是当前元素堆叠顺序高于其他元素,即未被其他元素遮盖(例如,登录页面被广告弹层遮盖,则登录页面中的元素无法使用此click方法)

                  概念:z-index 属性设置元素的堆叠顺序。拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面。

 

2. JavaScriptExecutor

   使用方法:

    // WebElement webElement;已通过某种方式获取到webElement

    ((JavascriptExecutor) driver).executeScript("arguments[0].click();", webElement);

条件:

   条件1:元素在HTML DOM中存在

  注:曾遇到过一次在编辑收货地址时,点击保存按钮,报StaleElementReferenceException,将点击事件换为webElement就好了,尚未弄清楚原理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值