【问题标题】:How to inspect any element in selenium如何检查硒中的任何元素
【发布时间】:2017-07-19 09:36:23
【问题描述】:

我正在尝试执行鼠标悬停,其中 2 个元素具有相同的类名。我想点击第二个元素,但它点击第一个元素。如果只给出class 和href 属性,如何定位第二个。

我尝试使用 classname 和 href 创建自己的 xpath,但它不起作用。

【问题讨论】:

  • 你能添加你的代码吗?
  • 请阅读有关数组、列表、索引以及您用于编写 webriver 代码的任何语言。
  • 用萤火虫检查元素后,我得到以下代码: 1)女性
  • 第二个代码是 2)女性...为此我使用代码 1)driver1.findElement(By.xpath("//*[@class='desktop-main' and @href='/shop/women']/div")); 2)driver1.findElement(By.xpath("//*[@class='desktop-main' and @text()='Women']/div"));我需要点击第二个元素
  • 如果我只使用 className 那么它点击第一个元素但我想点击第二个元素。这种情况下的代码是什么?

标签: java selenium


【解决方案1】:

您可以尝试使用 className 选择器,然后使用 index 来获取具有该类名的“第二个”元素。

对于这个元素:

<a class="desktop-main" data-reactid="137" style="border-bottom-color:#fb56c1;" data-type="navElements" data-color="#fb56c1" data-group="women" data-index="1" href="/shop/women">Women</a>

试试这个:

List<WebElement> elements = driver.findElements(By.className("desktop-main");
elements.get(1).click();

【讨论】:

  • 上面的代码工作正常,但我的问题仍然没有解决。任务是执行鼠标悬停。我需要将鼠标悬停在第二个元素上,然后我需要点击子菜单。如果我正在执行上述命令,它只会点击主菜单而不是子菜单。
  • 我正在使用下面给定的网站来完成任务:“myntra.com”为此我想将鼠标悬停在女性标签上,然后点击任何子菜单。为此,我使用以下代码: java.util.List elements = driver.findElements(By.className("desktop-main")); elements.get(1).findElement(By.linkText("上衣、T 恤和衬衫")).click();
猜你喜欢
  • 2019-12-18
  • 2022-01-10
  • 2018-11-09
  • 2021-11-09
  • 2021-03-29
  • 1970-01-01
  • 1970-01-01
  • 2020-08-13
  • 1970-01-01
相关资源
最近更新 更多