【问题标题】:Selenium Get WebElement inside a WebElementSelenium 在 WebElement 中获取 WebElement
【发布时间】:2015-10-18 08:30:25
【问题描述】:

我正在学习 Selenium,我有一个问题,假设我们有如下问题:

<div class='wrapper'>
  <div class='insider1'>
  <div class='insider2'>
<div class='wrapper'>
  <div class='insider1'>
  <div class='insider2'>

我可以使用带有 .wrapper 的 Css 选择器选择包装器元素列表。那么,假设我有这些元素,如何使用我已经拥有的包装器 WebElement 选择 insider1insider2?我知道选择 insider1 和 insider2 的方法有很多,但我的问题是,是否可以选择 WebElement 的内部元素?

谢谢

【问题讨论】:

  • 您能否再重新审视并澄清一下这个问题?
  • 如果您使用 Css 选择器或给定 html 代码的 xpath。这不会在网页上识别出来,因为有两个元素具有相同的 xpath/css 选择器。您应该从其父标签中获取 xpath。

标签: selenium selenium-webdriver


【解决方案1】:

您还没有确定是哪种语言,所以我将用 Java 中的示例来回答。 您使包装器等于 WebElement,如下所示(您将获得第一个 back 实例,因为您使用的是类而不是独特的东西,但为了论证,假设该类只有一个元素),您可能应该正在关闭你的 div:

WebElement wrap = driver.findElement(By.className("wrapper"));

然后你可以交换'wrap',代替你的驱动程序作为指针,并执行以下操作以获取 dom 树元素

WebElement inside1 = wrap.findElement(By.xpath("div[1]"));
WebElement inside2 = wrap.findElement(By.xpath("div[2]"));

【讨论】:

  • 谢谢,这是我正在寻找的元素。我不知道 WebElement 有 findElement。
猜你喜欢
  • 2022-12-10
  • 2017-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-13
  • 2018-08-02
  • 2016-06-28
相关资源
最近更新 更多