gpt4 book ai didi

c# - 等待验证使用 "ExpectedConditions"不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 17:23:53 29 4
gpt4 key购买 nike

更新版本

我正在尝试寻找一种更动态的方式来等待元素,而不是使用静态等待函数,例如 Task.Event(2000).Wait();

这个问题的解决方案似乎是这样的:

WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(30));
wait.Until(ExpectedConditions.ElementToBeClickable(By.XPath("//div[2]/div/input")));

但是当我使用这个函数时,“ExpectedConditions”总是亮红色,表示它:“在当前上下文中不存在”。

我已将该函数放入我的一个测试用例中:

(我正在使用 C#/Visual Studios,项目类型:Classlibrary)

using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Firefox;
using OpenQA.Selenium.Support.UI;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ClassLibrary1
{
public class MyFirstTest
{
IWebDriver driver = new FirefoxDriver();

[Test]
public void WaitverifyTest()
{
driver.Navigate().GoToUrl("https://www.google.se/");
driver.Manage().Window.Maximize();

Task.Delay(4000).Wait();

driver.FindElement(By.XPath("//div[2]/div/input")).SendKeys("Selenium");

WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
IWebElement element = wait.Until(ExpectedConditions.ElementToBeClickable(By.XPath("//div[2]/div/input")));
element.Click();

driver.FindElement(By.XPath("//center/input")).Click();
}
}
}

(xpath 是位置类型 xpath,它在 Selenium IDE 和 Visual Studios 中均有效且有效。)

有人知道我做错了什么吗?

我有两个怀疑:

  1. 我的 selenium 版本可能太新了 (3.6.0.0)

根据 selenium.io , ExpectedCondition 最后更新于 3.1.0。也许它不再有效。有办法检查这个吗?

  1. 也许我的项目类型与 ExpectedCondition 不兼容,因此无法识别它?

最佳答案

我以前见过这个。

确保您已经为您的项目安装了 Selenium.Webdriver 和 Selenium.Support NuGet 包。您需要 Selenium.Support 包才能使用 ExpectedConditions。

关于c# - 等待验证使用 "ExpectedConditions"不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47220930/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com