在Internet Explorer Web驱动程序中找不到更新面板的元素

时间:2019-04-24 12:19:57

标签: c# selenium internet-explorer selenium-webdriver

在按钮上单击,在Internet Explorer中出现一个弹出窗口,该窗口呈现一个html(如下所示),我意识到此HTML位于更新面板中,也就是说我无法在其上找到任何控件/元素。我确定我的代码可以切换到子窗口(弹出窗口),但无法找到弹出窗口的元素。

我怎么知道如何控制切换到子窗口?

 foreach (String windowHandle in handles)
 {
    if (!windowHandle.Equals(parentWindow))
    {
       objDriver.SwitchTo().Window(windowHandle);
       //trying to find element is always null on popup window
       IWebElement table = objDriver.FindElement(By.TagName("table"));//this is null
       //closing child window, this works fine
       objDriver.Close(); 
     }
  }

像这样创建更新面板

<div class="ctl00_updatePanel">
<div class="test">
 <div>
  <table id="tbl">
  <tr>
   <td>
    <a href="#">text 1</a>
   </td>
   <td>
  <tr>
  <tr>
   <td>
    <a href="#">text 2</a>
   </td>
   <td>
  <tr>    
  </table>
 </div>
</div>
</div>

当我尝试在此窗口中找到任何控件时,它总是显示未找到元素并中断。

我已经为元素to wait添加了to load,但是尽管元素已正确加载到子窗口中,但是仍然无法显示元素未找到的信息。

0 个答案:

没有答案