【问题标题】:How to click on span button written inside serveral div tag in Selenium webdriver如何单击写在 Selenium webdriver 中的多个 div 标签内的 span 按钮
【发布时间】:2018-09-09 00:07:35
【问题描述】:

我试图点击写在 div 标签内的 span 按钮。 div id ="ROOT/Incident Management" 是另外 2 个 div 标签的子标签。

项目代码如下

事件管理

我想点击下方的“事件管理”按钮。下面的代码都试过了,

1. driver.findElement(By.xpath("//*[@id='cwcNavPanel']/div/div[3]/div/span")).click(); 
2. driver.findElement(By.xpath("//span[contains(@class,'x-panel-header-text') and contains(text(), 'Incident Management')]")).click();
3. driver.findElement(By.xpath("//div[@class='x-panel-header x-panel-header-noborder x-unselectable x-accordion-hd']//span[@class='x-panel-header-text']")).click();
4. driver.findElement(By.xpath("//div[@class='x-panel x-panel-noborder x-tree x-panel-collapsed']//span[@class='x-panel-header-text']")).click();

项目代码如下

<div id="ROOT/Incident Management" class="x-panel x-panel-noborder x-tree x-panel-collapsed" style="width: auto;">
    <div class="x-panel-header x-panel-header-noborder x-unselectable x-accordion-hd" id="ext-gen91" style="cursor: pointer;"> 
      <span class="x-panel-header-text" id="ext-gen95">Incident Management</span> 
    </div>
</div>

【问题讨论】:

  • 下面的项目代码
    事件管理
  • 您的定位器没有问题,它们都应该可以工作。你有什么例外吗?另外,您是否在定位此元素之前添加了足够的等待时间?
  • 你试过 driver.findElement(By.Id("ext-gen95")).click() 吗?
  • @user2807505 如果你得到什么例外?
  • @Ywapom 我尝试了您的代码并得到以下异常线程“main”中的异常 org.openqa.selenium.NoSuchElementException:没有这样的元素:无法找到元素:{“method”:“id”, “选择器”:“ext-gen95”}(会话信息:chrome=68.0.3440.106)(驱动程序信息:chromedriver=2.41.578737(49da6702b16031c40d63e5618de03a32ff6c197e),平台=Windows NT 10.0.15063 x86_64)(警告:服务器未提供任何堆栈跟踪信息)

标签: java selenium-webdriver selenium-chromedriver


【解决方案1】:

非常感谢您的快速回复。

我添加了以下行,它工作正常。

driver.findElement(By.xpath("//span[contains(@id, 'ext-gen') and text()='Incident Management']")).click();

解释是:span 包含 id 'ext-gen'(不是确切的 id,但与 sql 中的类似命令相当)并且具有类似 'Incident Management' 的文本。

【讨论】:

    猜你喜欢
    • 2016-12-08
    • 2016-10-09
    • 1970-01-01
    • 2016-06-02
    • 2023-03-16
    • 1970-01-01
    • 2016-03-02
    • 1970-01-01
    • 2017-10-31
    相关资源
    最近更新 更多