我试图从Frame中提取结果,但是当我在VS上检查页面源时,我试图从中提取内容的帧无法显示。硒在框架内看不到,所以最终的xpath不起作用。我无法看到我所缺少的东西。
PS:containerNo是一个字符串,值为GFSSEA1610,刚刚进行测试。
IWebDriver driver = new SimpleBrowserDriver();
driver.Navigate().GoToUrl("http://aplinfo.apl.com/tracking/");
IWebElement query = driver.FindElement(By.Id("trace"));
query.SendKeys(containerNo);
query.Submit();
var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(30));
wait.Until(d => d.Url.StartsWith("http://homeport.apl.com/gentrack/", StringComparison.OrdinalIgnoreCase));
driver.FindElement(By.Name("bodyframe"));
driver.SwitchTo().Frame("bodyframe");
result = driver.FindElement(By.XPath("/html/body/table")).Text;
答案 0 :(得分:0)
我解决了它如下:
IWebDriver Frame = driver.SwitchTo().Frame("bodyframe");
或
string frameHTML= driver.SwitchTo().Frame("bodyframe").PageSource;