有 Java 编程相关的问题?

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

测试无法在Selenium Webdriver(java)中定位iframe

我想选择iframe的一个元素,它位于弹出窗口中的。我可以进入弹出窗口,但无法找到iframe。下面是弹出窗口的html代码

<html>
<head></head>
<body>
<iframe width="100%" height="100%" border="0" src="/some/url.do?parameter=getData">
<html>
 .
 .
 <table id="ec_table" class="tableRegion" width="20%" cellspacing="1" cellpadding="2" 
 border="0">
 <tr class="even">
 <td>
 <input type="radio" value="173" name="hier_data_id">
 </td>
 </tr>
 .
 .
 </html>
 </iframe>
 </body>
 </html>

在这里,我想单击位于iframe内部的单选按钮。我使用下面的代码在iframe中切换,但它没有切换到iframe

 driver.switchTo().frame(myD.findElement(By.tag("iframe")));

由于iframe没有id,我发现很难在iframe中定位元素

有人知道我怎么做吗

提前谢谢


共 (2) 个答案

  1. # 1 楼答案

    以下是选择iFrame并输入文本“Test data”的代码

    $x = $I->grabAttributeFrom('//iframe', 'id');
    $I->switchToIframe($x);
    $I->fillField('#tinymce', 'Test data');
    $I->switchToWindow();`
    

    如果两个iFrame相继出现,则可以通过此功能进行切换

    $I->switchToWindow();
    
  2. # 2 楼答案

    由于iframe有id referenceHERE,您的答案如下

    <iframe width="100%" height="100%" border="0" id="iframe"
                      src="/some/url.do?parameter=getData">
    

    你的代码是

    driver.switchTo().frame(myD.findElement(By.id("iframe")));