我已经将Selenium WebDriver添加到Powershell并创建WebDriver实例:
Add-Type -path C:\Windows\net40\WebDriver.dll
$driver = New-Object OpenQA.Selenium.Firefox.FirefoxDriver
$driver.Url = "https://www.google.com"
现在我要找到输入字段:
$singleRecord = ($driver.FindElementByCssSelector("input.gbqfif"))
我发现了几个如何在C#中“测试元素是否存在”的例子:
Selenium WebDriver-测试元素是否存在
IWebDriver driver = new FirefoxDriver();
driver.Url = "http://somedomain/url_that_delays_loading";
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
IWebElement myDynamicElement = wait.Until<IWebElement>((d) =>
{
return d.FindElement(By.Id("someDynamicElement"));
});
我不熟悉这个API,但如果您在PowerShell中无法使它工作,但它可以在C#中工作,那么只需创建可以从PowerShell访问的所需功能的C#包装器即可。使用add-type
命令可以相当容易地完成此操作。从其文档页中的第一个示例:
$source = @"
public class BasicTest {
public static int Add(int a, int b) {
return (a + b);
}
public int Multiply(int a, int b) {
return (a * b);
}
}
"@
Add-Type -TypeDefinition $source
[BasicTest]::Add(4, 3)
$basicTestObject = New-Object BasicTest
$basicTestObject.Multiply(5, 2)
当您找到该API的C#代码时,您可以将其插入到一个可以从PowerShell调用的C#包装类中。关键是避免PowerShell无法处理的特性,如C#静态扩展方法。
问题内容: 有没有一种方法可以测试元素是否存在?任何findElement方法都将以异常结尾,但这不是我想要的,因为它可能是一个元素不存在并且没关系,这不是测试失败,因此异常不能成为解决方案。 我发现了这篇文章:Seleniumc#Webdriver:等待元素出现,但这是针对C#的,我不是很擅长。谁能将代码翻译成Java?抱歉,我在Eclipse中进行了尝试,但我没有将其正确地插入Java代码中。
问题内容: 有没有一种方法可以测试元素是否存在?任何findElement方法都将以异常结尾,但这不是我想要的,因为它可能是某个元素不存在并且没关系,这不是测试失败,因此异常不能成为解决方案。 我发现了这篇文章:Selenium c#Webdriver:等待元素出现, 但这是针对C#的,我不是很擅长。谁能将代码翻译成Java?抱歉,我在Eclipse中进行了尝试,但我没有将其正确地插入Java代码
测试 map1 中是否存在 key1: 在例子 8.1 中,我们已经见过可以使用 val1 = map1[key1] 的方法获取 key1 对应的值 val1。如果 map 中不存在 key1,val1 就是一个值类型的空值。 这就会给我们带来困惑了:现在我们没法区分到底是 key1 不存在还是它对应的 value 就是空值。 为了解决这个问题,我们可以这么用:val1, isPresent =
问题内容: 我真的很惊讶,我在网上找不到使用Selenium Webdriver测试元素焦点的参考。 我想检查何时尝试提交表单而缺少必填字段时,焦点移到了空白字段。但是我看不到任何使用WebDriver API的方法。 我将能够使用JavascriptExecutor找到关注的元素。但是,阅读FAQ使我认为必须有某种方法可以使用驱动程序本身执行检查。 谢谢你的帮助。 问题答案: 将返回当前的焦点。
问题内容: 我想根据元素的属性来验证元素是否可见,但是我没有找到一种有效的方法来使用新的Xcode 7 UI测试材料。 我已经尝试过,但是它们似乎没有按我预期的那样工作。我想他们将与该物业合作。隐藏的元素不应该存在并且不能被击中……但这不是当前的行为(我可以理解行为……但是隐藏的元素不应被IMO击中)。 还有另一种方法来验证“隐藏”属性值吗? 问题答案: 从Xcode 7.1 Beta 3开始,U
问题内容: 我想检查Selenium中是否存在一个元素,如果存在,请将其分配给一个名称。 现在,我有这样的东西: 但是,当不存在值为9的元素时,它将返回错误。有没有一种方法可以检查它是否存在,或者类似的东西? 问题答案: 有几种选择。我推荐这些。 1.创建方法或Web驱动程序扩展。 2.计算元素,如果有1个或更多元素,则获取它。 那你可以检查