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