如何单击Selenium Webdriver中的服务器div标记内写的span按钮

时间:2018-09-06 14:37:29

标签: java selenium-webdriver selenium-chromedriver

我试图单击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>

1 个答案:

答案 0 :(得分:0)

非常感谢您的快速答复。

我添加了以下内容,一切正常。

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

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