我正在尝试从play.typeracer.com获取文字,但是当我参加比赛时,页面开始加载很多广告之类的东西。但是Altough该页面已完全加载了Selenium等待广告在执行代码行之前加载。
我已经尝试使用页面加载超时,但是正如我所说,该网站已加载,它只是等待广告。有趣的是,在我的普通浏览器上,广告立即加载。但这可能是由于网站缓存。
是否可以在某种程度上停止加载其他页面,或者在加载时找到元素?
我的期望是,您需要WebDriverWait和预期条件类的组合,因为可能是您将要与之交互的元素的情况。
建议使用的代码:
var wait = new OpenQA.Selenium.Support.UI.WebDriverWait(driver, TimeSpan.FromSeconds(10));
var enterRace = wait
.Until(SeleniumExtras.WaitHelpers.ExpectedConditions
.ElementExists(By.XPath("//a[text()='Enter a typing race']")));
enterRace.Click();
更多信息:
- 明确等待
- 如何使用Ajax技术使用硒来测试Web应用程序