C#:Selenium - 元素不是框架元素:FRAMESET

时间:2016-06-06 13:21:46

标签: c# selenium

我试图接受并用selenium填充一些编辑,但我收到错误......

我需要输入框架集。

HTML:

<iframe src="NIB_MainFrame.asp" name="Principal" style="height:100%;width:100%;border:0;padding:0;border:0;margin:0;display:block;overflow-y:hidden" __idm_frm__="467"></iframe>
<frameset id="frmSet" rows="55,0,*,24" border="0" framespacing="0" frameborder="no">
    <frame noresize="noresize" scrolling="no" name="Header" src="NIB_Header.asp" __idm_frm__="472">
    <frame noresize="noresize" scrolling="no" name="Menu" src="Blank.htm" __idm_frm__="473">
    <frame noresize="noresize" scrolling="auto" name="Corpo" src="NIB_Pre_Bridge.asp?txtAgencia=4346&amp;txtConta=014543708" __idm_frm__="474">
    <frame noresize="noresize" scrolling="no" name="Rodape" src="NIB_Rodape.asp" __idm_frm__="475">
</frameset>
</iframe>

C#

driver.SwitchTo().Frame(0);
IWebElement detailFrame = driver.FindElement(By.XPath("//*[@id='frmSet']"));
driver.SwitchTo().Frame(detailFrame);

错误:

  

OpenQA.Selenium.NoSuchFrameException未处理       的HResult = -2146233088       Message = Element不是框架元素:FRAMESET       源= webdriver的

2 个答案:

答案 0 :(得分:2)

你应该尝试下面的

driver.SwitchTo().Frame("Principal");
driver.SwitchTo().Frame("Header");

无需切换frameSet。您可以直接切换到标题框架

答案 1 :(得分:0)

您应该尝试以下更改,它应该有效。变化

[
  {"name":"billy", "age":23},
  {"name":"tommy", "age":24}
]

IWebElement detailFrame = driver.FindElement(By.XPath("//*[@id='frmSet']"));