Selenium 怎么等到工作了? WebDriverWait wait=newwebdriverwait(_浏览器,TimeSpan.FromSeconds(0)); IWebElement textBoxByName=等待.Until(d=>d.FindElement(By.Name((m.Groups[“MethodValue”].Value))); textBoxByName.SendKeys(m.Groups[“Content”].Value.Replace(“,”);

Selenium 怎么等到工作了? WebDriverWait wait=newwebdriverwait(_浏览器,TimeSpan.FromSeconds(0)); IWebElement textBoxByName=等待.Until(d=>d.FindElement(By.Name((m.Groups[“MethodValue”].Value))); textBoxByName.SendKeys(m.Groups[“Content”].Value.Replace(“,”);,selenium,Selenium,我想使用wait.Until来等待元素出现并被selenium找到,但它不起作用,并且会出现异常,因为元素没有出现而无法找到元素 但是如果我使用隐式等待等待某些秒直到元素显示,我就可以找到元素 所以我想知道显式等待是如何工作的,以及等待和元素自动显示的正确方式是什么。您已经设置了 WebDriverWait wait = new WebDriverWait(_browser, TimeSpan.FromSeconds(0)); IWebElement textBoxByName = wait.U

我想使用wait.Until来等待元素出现并被selenium找到,但它不起作用,并且会出现异常,因为元素没有出现而无法找到元素

但是如果我使用隐式等待等待某些秒直到元素显示,我就可以找到元素

所以我想知道显式等待是如何工作的,以及等待和元素自动显示的正确方式是什么。

您已经设置了

WebDriverWait wait = new WebDriverWait(_browser, TimeSpan.FromSeconds(0));
IWebElement textBoxByName = wait.Until(d => d.FindElement(By.Name((m.Groups["MethodValue"].Value))));
textBoxByName.SendKeys(m.Groups["Content"].Value.Replace("<SP>", " "));

所以它只等待0秒,也就是说,根本不等待。尝试增加这个数字,它应该会起作用。

哦,我明白了。谢谢!但是我可以等到元素自动出现吗?如果我设置TimeSpan的时间,隐式等待有什么区别?在这种情况下差别不大。但是隐式等待是为驱动程序实例的生命周期设置的,并且将是相同的。你可以为某些特殊情况提供明确的答案,明白了吗。你能再解释一下“为司机的一生而设”是什么意思吗?因此,当设置隐式等待时,每次执行findElement或findElement时都会应用等待。酷,Ty。有办法自动等待吗?
TimeSpan.FromSeconds(0)