无法识别页面中的元素。它给出null。我想识别iframe(文本框)中的元素。我使用selenium webdriver来点击元素,但它无法识别元素< / p>
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();
答案 0 :(得分:3)
您不能将html放在iframe标记内。它是在curent页面内加载另一个页面。并且您的输入标记应该包含控件的类型。并检查HTML验证错误。
答案 1 :(得分:2)
如果且仅当浏览器 支持iframe标记时,您将
将src
属性添加到指向要加载的网址的iframe。然后你可以通过这种方式访问元素:
var frame = document.getElementById('iframeOne');
var frameDocument = frame.contentDocument;
var element = frameDocument.getElementById('xxxx');
但有一点需要考虑:当iframe的src是跨域时访问contentDocument
可能无法正常工作。