有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

当我使用Selenium IDE时,java WebDriver无法找到WebElement,而同样的css在哪里工作良好

我正在使用Firefox WebDriver,在我的测试中,由于某种原因,它无法找到链接/图像WebElement

当我将Selenium IDE与相同的CSS(不适用于WebDriver)一起使用时,它工作得非常好

有谁能建议我在使用WebDriver时对xpath和CSS选择器做些什么更改吗?我不知道我错过了什么

我的HTML页面代码如下所示:我想点击“新建”链接/图片

<div id="toolbarcontainer">
<ul id="toolbarlist">
    <li>
        <a id="btnNewDashboard" title="New" onclick="javascript:$('#dialogAddTab').dialog('open'); return false;" href="#">
            <span class="toolbarlistimg"></span>
            <span class="toolbarlisttext"></span>
        </a>
    </li>
    <li></li>
    <li></li>
</ul> </div>

使用Selenium IDE录制和播放可以很好地使用以下代码:

<tr> <td>click</td> <td>css=span.toolbarlisttext</td> <td></td> </tr>

但当我在测试中使用下面的代码时,它不起作用。。。我尝试了以下内容-请建议

driver.findElement(By.cssSelector("span.toolbarlisttext")).click();
driver.findElement(By.className("toolbarlisttext")).click();
driver.findElement(By.xpath("//a/span[@class='toolbarlisttext']")).click();
driver.findElement(By.xpath("css=span.toolbarlisttext")).click();

谢谢

更新日期:2015年1月2日

新的按钮/链接实际上在iFrame下,我完全忽略了iFrame。之后,我可以点击新的链接。答案如下


共 (1) 个答案

  1. # 1 楼答案

    我的一个朋友意识到“新”链接/img在iFrame中,因为它在iFrame中,我们必须首先将焦点切换到iFrame,然后单击元素

    示例代码:

    // Switch the focus to iFrame first
    driver.switchTo().frame(driver.findElement(By.xpath("//*[@id='Framework_Client_BusinessIntelligence_0']/iframe")));
    // Click on Link/Button/Image present in iFrame
    driver.findElement(By.xpath("//*[@id='btnNewDashboard']")).click();
    

    谢谢