我正在尝试从play.typeracer.com中获取文字,但是当我参加比赛时,页面开始加载很多内容,例如广告。但是页面完全加载完毕,Selenium在执行代码行之前会等待广告加载。
我已经尝试过使用页面加载超时,但是正如我所说,网站已加载,它只是在等待广告。有趣的是,在我的普通浏览器上,广告会立即加载。但这可能是因为网站缓存。
是否可以以某种方式停止其他页面的加载,或者只是在加载时查找元素?
答案 0 :(得分:0)
我的期望是,您将需要WebDriverWait和ExpectedConditions类的组合,因为要与之交互的元素可能不会在{{3}中立即可用}。
建议使用的代码:
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();
更多信息: