所以我在c#winforms中使用PhantomJS webdriver。
与firefox不同,即使网页没有完全加载,PhantomJS也会在代码中占用,所以为了确保它在完全加载时运行,你必须检查元素并检查页面是否已完全加载。
IWait<IWebDriver> wait = new OpenQA.Selenium.Support.UI.WebDriverWait(driver, TimeSpan.FromSeconds(30.00));
try
{
wait.Until(driver1 => IsElementPresent(By.XPath("//*[@class='single_like_button btn3-wrap']")));
}
catch (TimeoutException)
{
driver.Url = "http://addmefast.com/free_points/facebook_post_like";
}
我得到的错误
An unhandled exception of type 'OpenQA.Selenium.WebDriverTimeoutException' occurred in WebDriver.Support.dll
Additional information: Timed out after 30 seconds
显然,try和catch方法不能以任何其他方式工作吗?
答案 0 :(得分:1)
尝试捕捉WebDriverTimeoutException
,而不仅仅是TimeoutException