- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用从“选择”控件中选择值的 Selenium 2 测试(用 C# 编写)。选择会导致回发到服务器,从而更新页面的状态。因此,在选择等待页面更改的值后,我正在执行手动等待( thread.sleep
)。它适用于 Thread.Sleep。然而,Thread.Sleep
有很多好的理由使用是一个坏主意,所以当我取出我所有的 Thread.Sleep
时一行代码然后我所有的测试用例都崩溃了,我尝试了 WebDriverWait,隐式和显式都不起作用,非常沮丧
下面是我尝试过的示例代码....
//WebDriverWait
public IWebElement WaitForElement(By by)
{
// Tell webdriver to wait
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(30));
wait.PollingInterval = TimeSpan.FromSeconds(2);
wait.IgnoreExceptionTypes(typeof(NoSuchElementException), typeof(NoSuchFrameException));
wait.IgnoreExceptionTypes(typeof(StaleElementReferenceException), typeof(StaleElementReferenceException));
IWebElement myWait = wait.Until(x => x.FindElement(by));
return myWait;
}
WebDriverWait wait = new WebDriverWait(new SystemClock(), driver, TimeSpan.FromSeconds(30), TimeSpan.FromMilliseconds(100));
driver.Manage().Timeouts().ImplicitlyWait(new TimeSpan(0, 0, 30));
IWebDriver driver = new FirefoxDriver();
driver.Url = "http://somedomain/url_that_delays_loading";
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(30));
IWebElement myDynamicElement = wait.Until<IWebElement>((d) =>
{
return d.FindElement(By.Id("someDynamicElement"));
});
最佳答案
这对我有用->
WebDriverWait wait = new WebDriverWait(browser, new TimeSpan(0, 0, 30));
element = wait.Until<IWebElement>((driver) =>
{
return driver.FindElement(By.Name("name_of_element")));
});
WebDriverWait wait = new WebDriverWait(browser, new TimeSpan(0, 0, 30));
element = wait.Until<IWebElement>((driver) =>
{
return driver.FindElement(By.Id("id_of_element")));
});
关于WebDriverWait 或 ImplicitlyWait 或 ExplictlyWait 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12967008/
代码提案: 收集页面上当前所有游戏的链接 (https://int.soccerway.com/matches/2021/07/28/),让我可以自由地将日期更改为我想要的任何内容,例如 2021/0
我正在使用 Selenium 来抓取一些数据。 我点击的页面上有一个按钮说“custom_cols”。此按钮为我打开一个窗口,我可以在其中选择我的列。 这个新窗口有时需要一些时间才能打开(大约 5 秒
创建激活码后,需要 1-60 秒的时间将代码上传到系统中。因此,在创建新代码后,我想使用 WebDriverWait 60 秒来确保在这段时间内每 3 秒我想单击“搜索”按钮。有什么办法可以做到这一点
看来我的代码是正确的,但没有按预期工作,Webdriver 并没有真正在我的代码中工作。我希望在返回上一页之前先加载该页面。下面是我的代码。 Browser.clickElement(MenuButt
我创建了代码: new WebDriverWait(driver,100).until( new ExpectedCondition(){ @Override
我使用 Python/Selenium 提交表单,然后让 Web 驱动程序使用类 ID 使用预期条件等待下一页加载。 我的问题是有两个页面可以显示,但它们不共享原始页面中不存在的唯一元素(我可以找到)
我正在使用 Windows 8、IE 10 (java - WebDriver 2.37.0),并且我正在尝试等待该元素加载到页面上。我使用了以下代码: WebDriver driver = new
我试图让我的代码在尝试从元素中获取文本之前等待元素出现。如果我逐步执行允许元素时间出现的代码,它会按预期工作,但如果我在没有断点的情况下运行它,等待似乎被忽略并引发异常。 我不明白为什么它被忽略了?
我使用的是最新的 Chrome 和 Webdriver 2.33,但在使用 IgnoreExceptionTypes 时遇到了一些问题。在下面的代码中,webdriver 也会像我预期的那样等待,但它
我正在使用 Selenium WebDriver 运行测试,如果用户没有访问权限,则页面上不存在 div。我正在尝试等待,以便在显示该项目时返回 true,但如果达到超时则返回 false。
使用 python,WebDriverWait 方法用于等待 1 个元素出现在网页上。 如何在没有多次尝试/除外的情况下使用此方法? 使用此方法是否有多个案例的 OR 选项? https://sele
我正在使用 Selenium 3.4 和 Java。我正在测试一个速度不是很快的 UI,并使用隐式等待,这样我就不必在每次加载需要几秒钟的时间时手动显式等待。 但是,有时我无论如何都需要明确的等待。为
我正在使用 Selenium 定位元素并用文本填充它。当我浏览到我的 URL 时,首先会显示一个文本框来加载页面。加载应用程序后,将显示登录用户名/密码。我只想等到显示登录用户名/密码以避免 NoSu
我正在尝试通过检查页面标题是否包含这样的“第 1 页”来实现等待 try: WebDriverWait(driver, 10).until(EC.title_contains("Page 1"
希望有人能帮忙解决这个问题。问题是 org.openqa.selenium.WebDriverException: unknown error: Element is not clickable at
我使用 selendroid 来测试混合应用程序。我有自己的记录器,可以记录并使用 WebDriverWait 来等待特定行为。我的问题是如何在 WebDriverWait 失败并抛出 timeout
我用 Selenium 构建了一个拍卖监视器,自从我开始使用它以来,它工作得非常完美。它的工作方式是,它会访问特性拍卖网站并监控拍卖价格(非常简单),并通过ANY价格变化的文本来提醒我。它查看的价格各
我正在使用通过框架 (Cucumber) 实现的 Selenium WebDriver,我遇到了一个问题,即在对元素执行操作之前等待元素加载。 最初,我想使用隐式等待,但如果一个元素没有立即加载,它就
这是我的代码: def CheckQueue(driver): qdone = False qID_xpath_start = "/html/body/div[5]/form/tabl
我有一个页面对象,它与 DOM 上的几个元素交互。如果我在我的页面对象初始化中创建一个 WebDriverWait 对象作为实例成员,我可以将它用于所有等待吗? 或者如果我想等待两个单独的元素,最好有
我是一名优秀的程序员,十分优秀!