无法从webdriver中找到新的刷新帧,然后找到一个元素

时间:2014-04-17 04:55:57

标签: selenium

我对硒很新。我正在尝试自动化我的EMS / NMS测试用例。 测试环境:我的网页实际上是NMS操作的应用程序[它是一个私人网页]。现在主页的来源是:

<html>
<head>
<frameset bordercolor="gray" border="3" rows="10%,90%">
<frame scrolling="no" bordercolor="black" src="/cgi-bin/portal.cgi" noborder="" name="start_tab">
<html>
   <head>
      <body bgcolor="white">
         <style type="text/css">
|
            <a target="showcase" href="/Portal/sonm/cgi-bin/welcome">Ckt</a>
|
           <a target="showcase" href="/cgi-bin/build_instpage">EM Inst</a>
|
           <a target="showcase" href="/Portal/BAT/cgi-bin/bat_welcome.pl">System Check</a>
|
            <a target="showcase" href="/Portal/SOEM-GUI/cgi-bin/soem_welcome">EM</a>
|
         </body>
      </html>
    </frame>

现在从上面开始,当我点击这个时,我可以点击名为“start_tab”的第一帧上的“EM”,不打开另一个页面,而是刷新第二帧并出现登录按钮。现在我需要访问此登录按钮。但是,我无法找到此登录按钮。 Src代码是:

<script language="Javascript">
<table>
    <tbody>
        <tr>
           <td width="100%" align="center">
              <table>
                 <tbody>
                       <tr>
                          <td width="100%" align="center">
                              <a href="http://actual button">
                                 <img style="< border="" src="http://login_btn.png">
                               </a>
                           </td>
                       </tr>
                </tbody>
           </table>

我已经尝试过,xpath为按钮,我已尝试使用标签名称,但我认为我无法进入这个新刷新的框架。另外,当我获取源代码时,我得到了前一帧的源代码。

只需添加,整个页面分为两页: 1)start_tab,其中包含所有链接 2)展示将根据点击的链接刷新内容。

除了webdrvier的JavaDocs之外,还有其他任何好的文档,其中讨论了不同的Web应用测试场景。

提前致谢!!

1 个答案:

答案 0 :(得分:1)

您需要在找到按钮之前切换到框架

driver.switchTo().defaultContent(); // you are now outside of current frame  
driver.switchTo().frame("start_tab");
// now add code to locate login button