-1

无法识别页面中的元素。它给出null。我想识别Iframe(文本框)中的元素。我使用selenium webdriver点击元素,但它无法识别元素

1) 我的 HTML 代码如下所示

      <html>
        <head>
         <body>
         <iframe id="iframeOne">                  
             </iframe>
         </body>    
          </head>

              </html>     

2.我使用javascript来识别像document.getElementById('textbox')这样的文本框。
但它返回null。

3.我什至尝试使用 selenium webdriver

  IWebElement ClickElement = Wait.Until((d) => webDriver.FindElement(By.Id(parameter1))); It gives object reference error
            ClickElement.Click();
4

2 回答 2

3

您不能将 html 放在 iframe 标记内。它是在当前页面中加载另一个页面。并且您的输入标签应该包含控件的类型。并检查 HTML 验证错误。

于 2012-09-25T06:46:27.360 回答
2

当且仅当浏览器支持 iframe 标记时,您放置iframe 标记中的 html 代码才会被加载并可见。所以可能永远不会,除非您使用的是较旧的 Netscape navigator 或 IE 4。

src属性添加到指向要加载的 url 的 iframe。然后你可以通过这种方式访问​​里面的元素:

var frame = document.getElementById('iframeOne');
var frameDocument = frame.contentDocument;
var element = frameDocument.getElementById('xxxx');

但是,需要考虑一件事:contentDocument当 iframe 的 src 跨域时访问可能无法按预期工作。

于 2012-09-25T06:51:36.873 回答