页面加载时Selenium找不到元素



我正在尝试从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应用程序

相关内容

  • 没有找到相关文章

最新更新