Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Selenium webdriver:无法检测帧集_C#_Selenium Webdriver - Fatal编程技术网

C# Selenium webdriver:无法检测帧集

C# Selenium webdriver:无法检测帧集,c#,selenium-webdriver,C#,Selenium Webdriver,我有一个页面需要使用SeleniumWebDriver进行自动化 页面的我的HTML(由Firebug检查): .... 在这里,我尝试了driver.SwitchTo().DefaultContent(),然后尝试了driver.SwitchTo().frame()。尝试按索引、帧名称、Xpath、类名、名称查找帧,但都没有找到 我的驱动程序无法定位父帧,因此无法定位其中的任何元素。请帮助我解决此问题。无需切换到框架集。您可以直接切换到frame,并按如下方式查找元素:- driver.S

我有一个页面需要使用SeleniumWebDriver进行自动化

页面的我的HTML(由Firebug检查):


....
在这里,我尝试了
driver.SwitchTo().DefaultContent()
,然后尝试了
driver.SwitchTo().frame()
。尝试按索引、帧名称、Xpath、类名、名称查找帧,但都没有找到


我的驱动程序无法定位父帧,因此无法定位其中的任何元素。请帮助我解决此问题。

无需切换到
框架集。您可以直接切换到
frame
,并按如下方式查找元素:-

driver.SwitchTo().Frame("frmContent");
// do your stuff here
..................
driver.SwitchTo().DefaultContent();
var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));

IWebElement frame = wait.Until(ExpectedConditions.ElementExists(By.Name("frmContent")));
 driver.SwitchTo().Frame(frame);
// do your stuff here
..................
driver.SwitchTo().DefaultContent();
已编辑:-如果
需要时间加载,请尝试使用
WebDriverWait
等待帧
存在,如下所示:-

driver.SwitchTo().Frame("frmContent");
// do your stuff here
..................
driver.SwitchTo().DefaultContent();
var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));

IWebElement frame = wait.Until(ExpectedConditions.ElementExists(By.Name("frmContent")));
 driver.SwitchTo().Frame(frame);
// do your stuff here
..................
driver.SwitchTo().DefaultContent();

希望它能帮助您:)

无需切换到
frameset
。您可以直接切换到
frame
,并按如下方式查找元素:-

driver.SwitchTo().Frame("frmContent");
// do your stuff here
..................
driver.SwitchTo().DefaultContent();
var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));

IWebElement frame = wait.Until(ExpectedConditions.ElementExists(By.Name("frmContent")));
 driver.SwitchTo().Frame(frame);
// do your stuff here
..................
driver.SwitchTo().DefaultContent();
已编辑:-如果
需要时间加载,请尝试使用
WebDriverWait
等待帧存在,如下所示:-

driver.SwitchTo().Frame("frmContent");
// do your stuff here
..................
driver.SwitchTo().DefaultContent();
var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));

IWebElement frame = wait.Until(ExpectedConditions.ElementExists(By.Name("frmContent")));
 driver.SwitchTo().Frame(frame);
// do your stuff here
..................
driver.SwitchTo().DefaultContent();

希望它能帮到你……:)

效果很好:)Thanks@AnilVaddepally欢迎光临。很高兴帮助你。。请接受答案,如果它有帮助的话……)这就像一个符咒:)Thanks@AnilVaddepally欢迎光临。很高兴帮助你。。如果有帮助,请接受答案……)