C#-Selenium-如何等待页面完全加载
由于我的测试网站同步速度慢,我需要等待页面完全加载。我尝试了以下几种元素:C#-Selenium-如何等待页面完全加载,c#,selenium,selenium-webdriver,pageload,webdriverwait,C#,Selenium,Selenium Webdriver,Pageload,Webdriverwait,由于我的测试网站同步速度慢,我需要等待页面完全加载。我尝试了以下几种元素: WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(50)); wait.Until(ExpectedConditions.ElementExists(By.XPath("//input[@placeholder='First Name']"))).SendKeys("FirstName"); 我还尝试使用JavaScript方法,如:
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(50));
wait.Until(ExpectedConditions.ElementExists(By.XPath("//input[@placeholder='First Name']"))).SendKeys("FirstName");
我还尝试使用JavaScript方法,如:
public static void WaitForLoadOriginal(IWebDriver driver)
{
IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
int timeoutSec = 15;
WebDriverWait wait = new WebDriverWait(driver, new TimeSpan(0, 0, timeoutSec));
wait.Until(wd => js.ExecuteScript("return document.readyState").ToString() == "complete");
}
这是我尝试选择的代码
<select name="question" id="question1" type="text" class="form-control ng-pristine ng-empty ng-invalid ng-invalid-required ng-touched" ng-required="true"
当您试图沿WebDriverWait调用SendKeys()而不是ExpectedConditions子句时,根据您的代码块,您应该使用以下子句:
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(20));
wait.Until(ExpectedConditions.ElementToBeClickable(By.XPath("//input[@placeholder='First Name']"))).SendKeys("FirstName");
为了执行等待页面加载的操作,这段代码对我来说很好
protected void WaitForPageLoad()
{
wait.Until(driver=>((IJavaScriptExecutor)driver).ExecuteScript("return document.readyState").Equals("complete"));
}
谢谢我试过了。无法解决问题。仍然失败。无法解决
问题,而且仍然失败
无法说明发生了什么错误。使用相关HTML、代码试用和错误堆栈跟踪更新问题。由于Thread.Sleep(20000)
对您有效,请尝试将时间跨度增加到20秒您的HTMLIWebElement安全性问题1=wait.Until(ExpectedConditions.element可禁用(By.Id(“问题1”);SelectElement DropDownSecurity Question1=新的SelectElement(安全问题1);下拉安全问题1.选择索引(1);