小编典典

你可以通过以下任一过程解决它们:

1.由于存在JavaScript或AJAX调用而无法单击元素

尝试使用ActionsClass:

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

Actions actions = new Actions(driver);

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

2.由于元素不在视口中,因此无法单击

尝试用于JavascriptExecutor将元素带入视口中:

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

JavascriptExecutor jse2 = (JavascriptExecutor)driver;

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

3.在元素可单击之前,页面正在刷新。

在这种情况下,请诱导ExplicitWait,即第4点中提到的WebDriverWait。

4.元素存在于DOM中,但不可单击。

在这种情况下, 将ExplicitWaitExpectedConditions设置为,elementToBeClickable以使元素可单击:

WebDriverWait wait2 = new WebDriverWait(driver, 10);

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

5.元素存在但具有临时覆盖。

在这种情况下,ExplicitWait使用 ExpectedConditions设置invisibilityOfElementLocated为可使Overlay不可见。

WebDriverWait wait3 = new WebDriverWait(driver, 10);

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

6.元素存在但具有永久覆盖。

用于JavascriptExecutor直接在元素上发送点击。

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

JavascriptExecutor executor = (JavascriptExecutor)driver;

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

2020-01-10

java selenium用js点击_Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?...相关推荐

  1. 根据java实体生成js实体_端午前福利!Java/Python实体书赠送

    好久没给大家送福利了,今天来一波图书福利(拉至文末) 本篇文章分享的是多线程的锁机制. 多线程编程访问共享变量时会出现问题,但是多进程编程访问共享变量不会出现问题.因为多进程中,同一个变量各自有一份拷 ...

  2. java播放本地声音流_前端Web界面播放Java后端返回的音频流,视频流

    最近在做一个大屏系统时,需要在界面中播放一段视频,由于跨域问题,最后决定使用视频流的方式,把音频文件传到前端进行播放. 后端Java代码如下: @RequestMapping(value = &quo ...

  3. java selenium常用API(WebElement、iFrame、select、alert、浏览器窗口、事件、js) 一

     WebElement相关方法 1.点击操作 WebElement button = driver.findElement(By.id("login")); button.clic ...

  4. js下载文件 java_[Java教程]使用js实现点击按钮下载文件

    [Java教程]使用js实现点击按钮下载文件 0 2016-11-11 19:02:54 有时候我们在网页上需要增加一个下载按钮,让用户能够点击后下载页面上的资料,那么怎样才能实现功能呢?这里有两种方 ...

  5. selenium中js定位_Selenium中的定位剂

    selenium中js定位 1.什么是Selenium定位器? (1. What is a Selenium Locator?) Selenium Locators are used for iden ...

  6. Java+selenium简单实现web自动化测试

    最近在转行软件测试,有点艰难,为了提高自己的竞争力,只有不断的学习,学习多一点技术和知识. 这次要学习的是Java+Selenium的Web自动化测试,虽然这个自动化测试技术已经少有人用,或者说已经没 ...

  7. java 前台播放视频_「纯js项目」海康视频项目,java后台+前台web显示的,望提供思路!...

    纯js项目: 海康视频项目,java后台+前台web显示的,望提供思路! 如果只是实现BS架构,可以向海康要web开发包,直接使用浏览器通过ocx访问海康设备浏览视频,如果需要的功能不全,再使用JNI ...

  8. Java+Selenium 3.x 实现Web自动化 - 1.自动化准备

    (一)自动化准备 说明:本文主要记录了基于公司现有项目(一个电子商务平台),从0开始实现UI自动化的历程.从准备阶段,部分内容直接省略了基础知识,一切以最终做成自动化项目为目标,难免会有晦涩之处.文章 ...

  9. 运用js解决java selenium元素定位问题

    运用js解决java selenium元素定位问题 参考文章: (1)运用js解决java selenium元素定位问题 (2)https://www.cnblogs.com/limxiaosi/p/ ...

最新文章

  1. 您的主机不满足在启用hyper-v或device_是时候换掉你的旧书桌了!乐歌E5M电动升降桌,坐立换姿不疲劳...
  2. Oracle RAC一节点宕机导致另一节点HANG的问题分析
  3. mysql 碎片率_mysql数据碎片太多怎么办?
  4. eslint 无法格式化ts_VS Code Prettier + ESlint 格式化Vue代码及遇到问题
  5. 你应该知道的 iTerm2 使用方法--MAC终端工具
  6. 在银行里存两千万,光吃利息够花吗?
  7. [Algorithm] Write your own Math.pow function in Javascript, using Recursive approach
  8. [Swift]LeetCode528. 按权重随机选择 | Random Pick with Weight
  9. pycharm更换python版本
  10. 爬虫IP代理-设置ADSl拨号服务器代理
  11. 海思Hi3559V200运动相机、流媒体后视镜开发板防雷防静电推荐图
  12. 查看CPU最大支持内存容量
  13. java计算农历日期
  14. this的理解 转https://www.cnblogs.com/pssp/p/5216085.html#!comments
  15. java 解压7z_实例展示使用Java压缩和解压缩7z文件的方法
  16. python爬虫,自动领取福利卷,剁手党的额福利!
  17. Unity Shader 常规光照模型代码整理
  18. Codeforces1486 C1.Guessing the Greatest (easy version)(交互题+二分)
  19. 在win10上安装oracle10g
  20. Popush前端小优化——岳一飞

热门文章

  1. Apache Commons SCXML:有限状态机实现
  2. 实用垃圾收集,第1部分–简介
  3. IntelliJ IDEA for Mac在MacOS模式下的版本控制/本地历史记录快捷键(VCS and Local History Shortcut)
  4. Linux 命令之 vmstat 命令-显示虚拟内存状态
  5. 几点减几点怎么列算式_[股票一般几点可以买入]股票缩量怎么买 | 爱淘股吧
  6. 【OpenGL从入门到精通(二)】绘制一个点
  7. jquery 字符串查找_JQuery、Vue等考点
  8. HTML5怎样设置站点,我是怎样让网站用上HTML5 Manifest
  9. c++中求解非线性方程组_齐次线性方程组的基础解系的简便算法
  10. c++ 为什么要按它们声明的顺序初始化成员变量?