Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法使用Selenium WebDriver定位输入元素_C#_Selenium_Selenium Webdriver_Webdriver - Fatal编程技术网

C# 无法使用Selenium WebDriver定位输入元素

C# 无法使用Selenium WebDriver定位输入元素,c#,selenium,selenium-webdriver,webdriver,C#,Selenium,Selenium Webdriver,Webdriver,我是硒的新手。在特定场景中,我无法捕获输入元素。代码如下: <ul class = "form1"> <li class="firstName"> <input placeholdervalue="First name" tabindex="1" placeholder="First name" class="text" placeholdevalue="First name" data-input-rule="name" data-valu

我是硒的新手。在特定场景中,我无法捕获输入元素。代码如下:

<ul class = "form1">
    <li class="firstName">
        <input placeholdervalue="First name" tabindex="1" placeholder="First name" class="text" placeholdevalue="First name" data-input-rule="name" data-value-rule="required" maxlength="20" type="text">
    </li>
</ul>
但未选择输入元素。 请告诉我选择输入元素的正确方法。

我将使用
符号来匹配
ul
li
输入
元素的类别:

By.CssSelector("ul.form1 li.firstName input.text")
如果仍然找不到元素,则可能有两个最常见的原因:

  • 它位于iframe中,您需要切换到它
  • 您需要等待元素出现
我将展开这些项,以防您在查找元素时仍然遇到问题

谢谢你的回复

它是这样运作的

driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(20));
wait.Until(ExpectedConditions.ElementIsVisible(By.CssSelector("ul.form1 li.firstName input.text"))).SendKeys("Vipul"); 
这是使用等待的正确方式吗

另外,有人能指出一些参考资料来解释如何使用SeleniumWebDriver处理框架吗


-Amit

想指出,@Amit,这个符号使用的是
By.CssSelector
在CSS中相当于
[class~=''.'']
driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(20));
wait.Until(ExpectedConditions.ElementIsVisible(By.CssSelector("ul.form1 li.firstName input.text"))).SendKeys("Vipul");