Selenium 无法通过 xpath 找到元素

2023-12-04

我已经在这方面工作了一段时间了。我正在使用 Selenium 和 WebDriver 版本 2.33(适用于所有浏览器)。我使用的是Java,这应该是任意的。我所做的只是找到一个元素并将鼠标悬停在它上面,这是我在之前的代码中所做的。但由于某种原因,我无法让这个工作。我正在尝试获取具有此 xpath 的元素,该元素通过在 Chrome 中右键单击 HTML 中的元素并单击“复制 xpath”来获取:

//*[@id="highcharts-10"]/svg/g[7]/g/rect[1]

这就是我尝试获取元素的方式(由于“highcharts-10”动态变化):

//*[starts-with(@id, 'highcharts')]/svg/g[7]/g/rect[" + barOption + "]

barOption 输入正确(我正在尝试浏览很多栏)

这是我的Java代码:

WebDriverWait wait = new WebDriverWait(getWebDriver(), 5);
WebElement element;
WebDriver driver = getWebDriver();
By by = By.xpath("//*[starts-with(@id, 'highcharts')]/svg/g[7]/g/rect[" + barOption + "]");
Actions action = new Actions(driver);
WebElement elem = wait.until(ExpectedConditions.visibilityOfElementLocated(by));
action.moveToElement(elem);
action.perform();

我在这里做错了什么?我尝试过使用 switchTo() 语句,但没有可以正确切换到的 iframe。这是 HTML 图片,因为我无法获得实际的文本:

更新的 HTML 链接: http://i1250.photobucket.com/albums/hh527/dr4g1116/Capture_zps6e2bc1b9.png

有人对我有什么建议吗?请让我知道我做错了什么!

Thanks!!


Try as CSS Selectors :

By by = By.css('div[id^="highcharts"] g[class^="highcharts"] > g > rec')

g.class_name我用过,就像那样<g>标签类名不可见。将该类名替换为正确的类名班级名称.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Selenium 无法通过 xpath 找到元素 的相关文章

  • 哪个类调用了我的静态方法?

    假设我有一个带有静态方法的 Java 类 如下所示 class A static void foo Which class invoked me 进一步假设 A 类有任意数量的子类 class B extends A class C ext
  • 不同的 JDK 更新会产生不同的 Java 字节码吗?

    假设场景 我有一个项目 其源合规性级别指定为 1 5 现在 我使用两种不同的 JDK 编译此项目 首先使用 JDK 6 Update 7 然后使用 JDK 6 Update 20 这两个不同的 JDK 是否会生成不同的 Java 字节代码
  • Spring Data:限制自定义查询的结果

    在我的 Spring 数据存储库中 我 必须 使用自定义查询 Query注解 我知道我可以限制这样的命名查询中的结果数量 Iterable
  • 如何将列表转换为地图?

    最近我和一位同事讨论了转换的最佳方式是什么List to Map在 Java 中 这样做是否有任何具体的好处 我想知道最佳的转换方法 如果有人可以指导我 我将非常感激 这是个好方法吗 List
  • 适用于 Solaris 的 Java 8 中缺少 javaws

    看起来 Oracle 从 Java 8 for Solaris 中删除了 Java Web Start javaws 在 Java 8u51 中不再可用 来自兼容性指南 http www oracle com technetwork jav
  • ASM之前看一下maxStack指令吗?

    我正在尝试使用 ASM 库将字节代码转换为不同的格式 这可以使用 MethodVisitor 来完成 就像这个简单的测试代码一样 return new MethodVisitor ASM7 Override public void visi
  • 在 JavaFX 中拖动未装饰的舞台

    我希望将舞台设置为 未装饰 使其可拖动且可最小化 问题是我找不到这样做的方法 因为我遇到的示例是通过插入到主方法中的方法来实现的 我想通过控制器类中声明的方法来完成此操作 就像我如何使用下面的 WindowClose 方法来完成此操作 这是
  • perl 和 java 正则表达式功能之间有什么区别?

    perl 和 java 在支持哪些正则表达式术语方面有什么区别 这个问题仅涉及正则表达式 并且特别排除了how可以使用正则表达式 即使用正则表达式的可用函数 方法 以及语言之间的语法差异 例如java要求转义反斜杠等 特别令人感兴趣的是 j
  • 使用 include 进行 JAXB 剧集编译不起作用

    我有 2 个模式 A B 我在 B 中重用了一些 A 元素 我不使用命名空间 我在用着
  • 在Spring-Boot中,我们如何在同一个项目中连接两个数据库(Mysql数据库和MongoDB)?

    我正在尝试创建一个 Spring Boot 项目 其中我有一个要求 我想连接到不同的数据库 MySql 和 MongoDB 我是否需要做一些特殊的事情来连接到这两个数据库 或者 spring boot 会自动计算出自己连接到这两个数据库 我
  • java 1.8下无法启动eclipse

    java 1 8 升级后我无法启动 eclipse 附上错误截图 这是我的 eclipse 配置设置 我该如何解决 startup plugins org eclipse equinox launcher 1 3 0 v20120522 1
  • 使用链接列表插入优先级队列的方法

    首先 我觉得我应该提到这是一项作业 我并不是在寻找直接的代码答案 只是为了指出正确的方向 我们被要求在链表中实现优先级队列 我正在努力编写 insert 函数的第一部分 在代码中我尝试检查是否head包含任何内容 如果没有则设置为head
  • 如何告诉 IntelliJ 使用 Java 1.6 JDK 启动 gradle?

    一个简单的问题 即使经过几个小时的尝试和搜索 我也无法弄清楚 我安装了 Java 6 和 7 如何告诉 IntelliJ 使用 JDK 版本 1 6 启动 Gradle 构建 无论我做什么 IntelliJ 都会以以下方式开始我的 grad
  • Checkstyle - 方法按修饰符排序

    是否可以添加到 checkstyle 规则以按修饰符对类中的方法进行排序 我的意思是开头的公共方法和最后的私有方法 MethodsOrderCheck做这个工作 检查文档 https www qulice com qulice checks
  • 如何使用 Nimbus LookAndFeel 更改 JToolTip 的背景颜色?

    在使用 Nimbus LookAndFeel 的基于 Swing 的 Java 应用程序中 我尝试设置工具提示的背景颜色 因此 我创建了 JToolTip 的子类 并通过重写 createToolTip 在我的组件中使用它 到目前为止一切正
  • Java 相当于 Python 的 urllib.urlencode(基于 HashMap 的 UrlEncode)

    From https stackoverflow com questions 2018026 should i use urllib or urllib2 2018103 2018103 Java 中 Python 的 urllib url
  • spring data jpa 过滤 @OneToMany 中的子项

    我有一个员工测试实体是父实体并且FunGroup信息子实体 这两个实体都是通过employeeId映射 我需要一种方法来过滤掉与搜索条件匹配的子实体 以便结果仅包含父实体和子实体 满足要求 员工测试类 Entity name Employe
  • 如何在 Servlet 中打开弹出窗口,然后重定向页面

    我想在调用 servlet 时打开一个弹出窗口 然后想将 servlet 重定向到某个 jsp page 这就是我所做的 protected void doGet HttpServletRequest request HttpServlet
  • Java,如何管理线程读取socket(websocket)?

    我有一个 WebSocket 服务器 我的服务器创建一个新线程来处理新连接 该线程一直处于活动状态 直到 websocket 中断 我的问题 对于 1 000 000 个连接 我需要 1 000 000 个线程 我如何通过一个线程处理多个
  • 安卓框架?

    是否有任何框架比构建 Android 应用程序更容易 您会对其中一个感兴趣吗 很快就会有 我正在开发 DroidFu 一个 Android 共享库 它将为您提供 活动 和服务 中直接提供大量实用功能 例如生成列表和错误对话框 检查 Inte

随机推荐

  • 从 @selector 中关闭视图控制器而不创建单独的方法

    我试图通过直接从按钮执行它来关闭呈现的视图控制器 而不是为其创建一个单独的方法 但我不知道如何让它工作 或者是否可能 如有任何帮助 我们将不胜感激 我正在尝试的代码 dismissButton addTarget self action s
  • 从 SQL Server 触发器发送消息

    当 SQL Server 2005 中发生某些事情时 我需要向正在运行的应用程序 Windows 服务 发出信号 是否可以将消息从触发器发送到同一系统上的外部应用程序 您可以使用SQL 服务代理排队做你想做的事 触发器可以创建对话并在队列上
  • 如何使 DrawerLayout 显示在工具栏下方?

    如何使抽屉布局位于操作栏 工具栏下方 我正在使用 v7 21 应用程序兼容库和新的工具栏视图 我看到的例子看起来像
  • 在 pyinstaller 生成的可执行文件中使用 pyunpack 并结合 try except

    我对 pyunpack 有一个奇怪的行为 pyunpack 是一个在可执行文件内用于解包的包 我想做以下事情 我有一个 7z 类型的文件 其结尾不是 7z 而是 sent 首先 我尝试直接解压缩它 这会导致捕获预期的错误 在这个错误捕获中
  • 需要帮助优化 mysql 的纬度/经度地理搜索

    我有一个 mysql 5 0 22 myisam 表 其中大约有 300k 条记录 我想在 5 英里半径内进行纬度 经度距离搜索 我有一个涵盖纬度 经度字段的索引 并且当我仅选择纬度 经度时速度很快 毫秒响应 但是 当我选择表中的其他字段时
  • 使用原始类中的自定义 Android AnalogClock 设置时间

    我想使用互联网上提供的 Android 开源项目的 AnalogClock 源代码制作一个自定义 AnalogClock 类 我想让时钟设置我想要的时间 而不是当前时间 我没有找到关于如何执行此操作的明确示例 因此也许这篇文章会很有用 将源
  • 对汇编 x86 中的数组求和。关于输入的索引

    我在添加数组但在输入的索引上遇到一些问题 例如 用户输入 4 作为起始数组 6 作为结束数组 因此我必须循环 array 4 到 array 6 并将数字相加 我不确定是否可以在 ArraySum 过程中使用 data 中的数组 我是否必须
  • 在 jquery 中引用选择器比实际调用选择器更快吗?如果是这样,有多大区别?

    preview button click preview button slide preview button whatever 这样做是否是更好的做法 var preview button preview button preview
  • python中的reverse()用法?

    sort 和reverse 方法会在对大型列表进行排序或反转时适当修改列表以节省空间 提醒您 它们的操作有副作用 它们不会返回排序或反转的列表 上述文字可以在以下位置找到http docs python org 2 library stdt
  • 执行光线投射时 Camera.main 为 null

    生成错误的代码 void Update if Input touchCount gt 0 RaycastHit2D hit Physics2D Raycast Camera main ScreenToWorldPoint Input Get
  • Laravel 5 中未找到用户类

    我有以下问题 我刚刚从 4 2 升级到 Laravel 5 但是我首先复制到新的 Controllers 文件夹的 UserController 不起作用 它总是告诉我它不适合用户模型 当我复制它时 我的代码如下所示 用户控制器 php
  • 如果列包含逗号分隔值,则创建单独的行

    假设我们有一个简单的选择查询 它返回如下结果 FirstName LastName PayScale Craig L 150000 Alice Lisa simons 100000 所以如果我们有逗号分隔的名字 那么我想要这样的结果 Fir
  • 通过 TAB 键导航

    I m working on LAMP application In my application I m using iframe I want to navigate through my application via Tab key
  • 堆上非常大的数组 (Visual C++)

    我希望有人可以帮助我 我正在尝试使用 Visual C 2010 在我的应用程序上创建一个 int 400000000 4 亿 数组 但它会生成溢出错误 相同的代码在 Linux 上使用 g 运行 我需要这个 因为我正在处理大型矩阵 先感谢
  • 在窗口加载时逐渐淡入元素

    我希望按代码顺序淡入具有特定类的 div 每次淡入淡出可能会在最后一次淡出之后 250 毫秒 给人一种渐进页面加载的印象 我已经到了这样的地步 一下子就消失了 window load function div fade this pleas
  • 为什么 numpy 和 random 模块为同一种子给出不同的随机数?

    对于相同的种子 为什么 random random 与 numpy random 相比会产生不同的随机值 我的理解是他们都使用 Mersenne Twister 来生成随机值 import random as rnd import nump
  • 如何从 Veins Car2X 模拟器中的 TraCIDemoRSU11p 访问 TraCI 命令界面?

    我想从 Veins Source for OMNet 中 RSU 模型的应用层访问 TraCI 的命令接口 但我找不到这样的 谁能帮我这样做吗 请注意 对于 RSU 节点 我没有将 TraciMobility 作为父模块 它只有 BaseM
  • Nginx - 有时会抛出 502 Bad Gateway

    我有一个项目 Django gunicorn nginx 它大部分都能工作 大多数端点 但有时 nginx 会抛出 502 BAD GATEWAY 错误是upstream prematurely closed connection whil
  • 基于正则表达式字典填充 Pandas DataFrame 列

    我有一个如下所示的数据框 GE GO 1 AD Weiss 2 KI Ruby 3 OH Port 4 ER Rose 5 KI Rose 6 JJ Weiss 7 OH 7UP 8 AD 7UP 9 OP Coke 10 JJ Stout
  • Selenium 无法通过 xpath 找到元素

    我已经在这方面工作了一段时间了 我正在使用 Selenium 和 WebDriver 版本 2 33 适用于所有浏览器 我使用的是Java 这应该是任意的 我所做的只是找到一个元素并将鼠标悬停在它上面 这是我在之前的代码中所做的 但由于某种