selenium 要点击的元素被其他元素遮挡 or 无法找到非可视范围内的元素

selenium 无法找到非可视范围内的元素 org.openqa.selenium.StaleElementReferenceException: The element reference of is stale;

either the element is no longer attached to the DOM, it is not in the current frame context, or the document has been refreshed selenium 要点击的元素被其他元素遮挡 org.openqa.selenium.ElementClickInterceptedException:

Element is not clickable at point (997,858) because another element

obscures it

Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'

 

 

Selenium Web Driver & Java. Element is not clickable at point (x, y). Other element would receive the click - Stack Overflow

用下面的第6条

Solution

The error Element is not clickable at point (x, y) can arise from different factors. You can address them by either of the following procedures:

1. Element not getting clicked due to JavaScript or AJAX calls present

Try to use Actions Class:

WebElement element = driver.findElement(By.id("navigationPageButton"));

Actions actions = new Actions(driver);

actions.moveToElement(element).click().build().perform();

2. Element not getting clicked as it is not within Viewport

Try to use JavascriptExecutor to bring the element within the Viewport:

WebElement myelement = driver.findElement(By.id("navigationPageButton"));

JavascriptExecutor jse2 = (JavascriptExecutor)driver;

jse2.executeScript("arguments[0].scrollIntoView()", myelement);

3. The page is getting refreshed before the element gets clickable.

In this case induce ExplicitWait i.e WebDriverWait as mentioned in point 4.

4. Element is present in the DOM but not clickable.

In this case induce ExplicitWait with ExpectedConditions set to elementToBeClickable for the element to be clickable:

WebDriverWait wait2 = new WebDriverWait(driver, 10);

wait2.until(ExpectedConditions.elementToBeClickable(By.id("navigationPageButton")));

5. Element is present but having temporary Overlay.

In this case induce ExplicitWait with ExpectedConditions set to invisibilityOfElementLocated for the Overlay to be invisible.

WebDriverWait wait3 = new WebDriverWait(driver, 10);

wait3.until(ExpectedConditions.invisibilityOfElementLocated(By.xpath("ele_to_inv")));

6. Element is present but having permanent Overlay.

Use JavascriptExecutor to send the click directly on the element.

WebElement ele = driver.findElement(By.xpath("element_xpath"));

JavascriptExecutor executor = (JavascriptExecutor)driver;

executor.executeScript("arguments[0].click();", ele);

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java实训日志06

文章目录 八、项目开发实现步骤(八)创建服务接口1、创建学校服务接口2、创建状态服务接口3、创建学生服务接口4、创建用户服务接口 (九)创建服务接口实现类1、创建学校服务接口实现类2、创建状态服务接口实现类3、创建学生服务接口…

【C++】4.工具:读取ini配置信息

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍读取ini配置信息。 学其所用,用其所学。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下,下次更新不迷路&…

百度沈抖:大模型 产业智能化时代的新引擎

6月9日,2023 NAVIGATE领航者峰会在杭州举办,聚焦数字经济新政策、新技术、新业态带来的蓬勃机遇,探讨ICT行业在AIGC时代将要面临的全新挑战与应对策略。百度集团执行副总裁、百度智能云事业群总裁沈抖出席大会并作题为《大模型 产业智能化时代…

Elastic 8.8 版引入了全新的 Learned Sparse Encoder 模型,并宣布正式推出合成监测

作者:Brian Bergholm 2023年5月25日 今天,我们非常高兴地宣布 Elastic 8.8 版正式发布。 新增功能 Elastic 企业搜索可帮助开发人员利用 Elasticsearch 实现强大的现代搜索和发现体验。 请在 “Elastic 企业搜索亮点” 博文或 8.8 版发行说明中&#…

信息量、熵、联合熵、条件熵、相对熵、交叉熵、JS散度、Wasserstein距离

信息量 I ( x i ) l o g 1 P ( x i ) − l o g P ( x i ) I(x_i)log \frac {1}{P(x_i)}-logP(x_i) I(xi​)logP(xi​)1​−logP(xi​) 信息量(self-information),又译为信息本体,由克劳德 香农(Claude Shannon&…

小白也能玩转Docker:应用部署、迁移与备份

目录 1、应用部署 1.1、Mysql 1.2、Ngixn 1.3、Redis 1.4、RabbitMQ 1.5、Elasticsearch 1.6、Zookeeper 2、迁移与备份 2.1容器保存为镜像 2.2镜像备份 2.3镜像恢复与迁移 1、应用部署 1.1、Mysql 拉取mysql的镜像: docker pull mysql:5.7 为mysql镜…

孤立森林详解

基本概念 孤立森林(Isolation Forest)是一种基于异常检测的机器学习算法,用于识别数据集中的异常点。孤立森林算法在异常检测、网络入侵检测、金融欺诈检测等领域有广泛应用,并且在处理大规模数据和高维数据时表现出色。孤立森林…

linux centos Python + Selenium+Chrome自动化测试环境搭建?

在 CentOS 系统上搭建 Python Selenium Chrome 自动化测试环境,需要执行以下步骤: 1、安装 Python CentOS 7 自带的 Python 版本较老,建议使用 EPEL 库或源码安装 Python 3。例如,使用 EPEL 库安装 Python 3: sud…

excel爬虫相关学习2:excel 和 vba 爬虫相关xmlhttp方法

目录 前言:vba 爬虫相关xmlhttp的方法 1 什么是xmlhttp 1.1 定义 1.2 特点 定义XMLHTTP对象: XMLHTTP方法: open(bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword) send(varBody) setRequestHeader(bstrHeader, bstrValue) …

SpringBoot全局异常页面处理学习

首先我们先在控制器中写一个异常,默认情况下我们的SpringBoot异常页面是这个样子的。 示例代码如下: import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController;/*** author qinxun* date 202…

拉新、转化、留存,一个做不好,就可能会噶?

用户周期 对于我们各个平台来说(CSDN也是),我们用户都会有一个生命周期:引入期–成长期–成熟期–休眠期–流失期。 而一般获客就在引入期,在这个时候我们会通过推广的手段进行拉新;升值期则发生在成长期…

AotucCrawler 快速爬取图片

AotucCrawler 快速爬取图片 今天介绍一款自动化爬取图片项目。 GitHub: GitHub - YoongiKim/AutoCrawler: Google, Naver multiprocess image web crawler (Selenium) Google, Naver multiprocess image web crawler (Selenium) 关键字 爬虫网站:Google、Naver &…

最新大学计算机专业实习心得报告

最新大学计算机专业实习心得报告(篇1) 一、实习目的 通过理论联系实际,巩固所学的知识,提高处理实际问题的能力,为顺利毕业进行做好充分的准备,并为自己能顺利与社会环境接轨做准备。通过这次实习&#xff…

管理类联考——英语二——技巧篇——阅读理解——taiqi

第一章 翻译技巧概述 一、词汇方面 (一)词义选择 大多数英语词汇是多义的,翻译时必须选择正确的词义。词义选择的方法有三:根据上下文和词的搭配选择根据词类选择、根据专业选择。 (二)词义转换 在理解英文词汇的原始意义基础…

vue安裝及配置 nodejs安装配置

vue安装及配置 vue安装步骤 nodejs安装 安装nodejs环境:https://nodejs.org/en/ 查看node版本:node-v vue3.0需要使用node 8版本以上 npm镜像配置 npm是nodejs内置的资源管理器 npm两个镜像: 淘宝镜像:https://registry.npm.…

Parallel Desktop下的Centos 9 ping通网络,配置静态ip的全过程

目录 一、发现问题1. 找不到网卡配置文件2. 网络重启的命令一直无法执行成功 二、分析问题三、解决问题系统环境1. 打开网卡配置文件2. 修改ipv4配置3. 重载网卡配置文件4. ping通,可以正常上网了 四、疑问1. 如何确定自己是不是设置了静态ip2. DHCP是固定静态ip 的…

使用PyMC进行时间序列分层建模

在统计建模领域,理解总体趋势的同时解释群体差异的一个强大方法是分层(或多层)建模。这种方法允许参数随组而变化,并捕获组内和组间的变化。在时间序列数据中,这些特定于组的参数可以表示不同组随时间的不同模式。 今天,我们将深…

shell内置命令

目录 内置命令介绍内置命令列表alisa内置命令alias别名定义语法unalias 别名删除语法alias演示 echo内置命令echo命令介绍echo输出语法echo输出转义字符 read内置命令介绍语法options支持的参数示例1:多个变量赋值 exit内置命令介绍语法示例:Shell脚本文…

Day01 项目简介分布式基础概念

最近在改进公司开发的商城项目,看到了尚硅谷的谷粒商城,就快速学习了下,因为之前的Kafka,Redis都是在这学习的,还有大数据的Flink。所以感觉一定不错,就开始了。 这里做一下学习笔记 一、项目简介 1 、项目背景 1 &…

AutoSAR系列讲解 - AutoSAR标准文档概览

目录 一、文档下载 二、文档结构 三、文档内容 四、各部分介绍 1、Introduction and functional o 目录 一、文档下载 二、文档结构 三、文档内容 四、各部分介绍 1、Introduction and functional overview 2、Acronyms and abbreviations 3、Related documentati…