当前位置: 首页 > 知识库问答 >
问题:

使用Selenium查找clickon元素。(JAVA)

洪永长
2023-03-14

我已经花了几个小时试图找到使用Selenium WebDriver查找元素的方法。我假设我需要使用driver.find元素(By.xpath ("")), 但我不太确定如何使用。

我需要找到并单击“clickon”元素。问题是该元素的一部分正在更改(请参见屏幕截图),我需要从文件中提取并放入xpath

我将感谢任何帮助。

共有3个答案

彭弘伟
2023-03-14

似乎您希望单击具有“单击时显示”(on click)属性的div,该属性包含某些不会更改的文本,而忽略更改的部分。在这种情况下,请使用如下xpath:

//div[contains(@onclick, '/challenge/index/rfp_id/')]

这将选择第一个具有onclick属性的div,该属性的值包含challenge/index/rfp\u id。

华涵意
2023-03-14

您可以使用xpath。如果div类是常量,您可以使用以下内容:

driver.findElement(By.xpath("list-row field-item")).click();

要查看xpath,您可以在此处安装名为“xpath检查器”的Firefox插件,右键单击dom元素并单击“View Xpath”选项以获取元素的xpath,然后您可以在代码中使用该xpath。

或者,您甚至可以在xpath中使用regex,这适用于类似的问题。带有正则表达式的Xpath非常强大。

白昊乾
2023-03-14

我们最近一直在严格寻找自动化功能测试解决方案,我们从Selenium开始。我们决定搜索其他解决方案的全部原因是我们的应用程序也有动态ID,没有其他明显的XPath机制来识别它们。如果没有一些额外的知识,Selenium无法识别页面上的这些元素,就像如果您不知道它们是什么,您将无法识别页面上的这些元素一样。

如果您正在控制DOM创建,请考虑向此元素添加唯一ID或类。

我们最近在testFactory中遇到了eggFactory,它是一种有趣的功能测试方法。它本质上是基于图像的。其他可行的解决方案是Ranorex或HP的QTP或SmartBear的TestComplete。

 类似资料:
  • 我搞不懂这个。 我在这个网站上工作,我使用Python中的selenium来单击类名“yellow showPopupUnder”下的第一个元素(屏幕的主要部分有20行关于房屋的黄色信息)。 当我让Selenium点击该行后,它会打开并显示更多信息。我对有“选中”和“未选中”框的部分感兴趣。这些复选框位于这样的div中: 未选中的框位于一个div中,如下所示: 我试着用几种方法联系他们: 我还尝试

  • 我正在尝试将我的selenium测试转换为使用页面对象模型(以及扩展为@FindBy)。我有几个这样的对象定义: 将父对象转换为使用FindBy很容易: 基本上,如果可能的话,我想这样做(我知道这不是真正的代码,这只是一个伪示例: 但是,有没有一种方法可以使用FindBy在父元素中定位子元素呢 。我需要这样做,因为我的目标是页面上的特定元素,这些元素可能与页面上的其他元素共享相同的名称或类名。谢谢

  • 问题内容: 我正在尝试使用Selenium(版本2.28.0)在子元素中搜索元素,但是selenium des似乎并不将其搜索限制在子元素中。我做错了吗,还是有一种方法可以使用element.find搜索子元素? 例如,我使用以下代码创建了一个简单的测试网页: 我的python(2.6版)代码如下所示: 如果我运行: 它从第二部分返回html。因此,selenium的搜索范围并不限于element

  • 我正在尝试搜索带有Selenium(版本2.28.0)的子元素中的一个元素,但是Selenium des似乎没有将其搜索限制在子元素中。是我这样做错了,还是有办法使用Element.find搜索子元素? 对于一个示例,我使用以下代码创建了一个简单的测试网页: 我的python(2.6版)代码如下所示: 如果我跑: 它返回来自第二部分的html。所以硒并不局限于元素2。 我希望能够找到Element

  • 问题内容: 我想找到相应的span元素。我想使用css选择器检查span元素的顺序。因此,当我使用Selenium IDE时,我将按照以下方式进行验证(使用第n个子概念)。 verifyText | css = .title:nth(0)| 首页 verifyText | css = .title:nth(1)| 帖子 verifyText | css = .title:nth(2)| 事件 ve

  • 我试图找到一种方法来获取div的值,但是我无法通过Xpath或CSSSelector找到元素。在这两种情况下(Xpath和cssSelector),Eclipse控制台都会显示错误消息: org.openqa.selenium.nosuchelementException:没有这样的元素:找不到元素:{“method”:“XPath”,“selector”:“//b[text()='protoco