Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.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# Can';t通过id-selenium查找元素_C#_Selenium_Selenium Webdriver_Webdriver - Fatal编程技术网

C# Can';t通过id-selenium查找元素

C# Can';t通过id-selenium查找元素,c#,selenium,selenium-webdriver,webdriver,C#,Selenium,Selenium Webdriver,Webdriver,尽管使用了id我还是找不到输入元素。我已经尝试了CssSelector,Xpath,Id。为什么不能这样处理这个元素 我试过: By id = By.Id("First name:input"); By xpath = By.Xpath("//*[@id=\\"First name:input\\"]"); By selector = By.CssSelector("#First\\ name\\:input"); 我使用explict wait等待输入元素 输入元素: 名字: 试试看:

尽管使用了
id
我还是找不到输入元素。我已经尝试了
CssSelector
Xpath
Id
。为什么不能这样处理这个元素

我试过:

By id = By.Id("First name:input");
By xpath = By.Xpath("//*[@id=\\"First name:input\\"]");
By selector = By.CssSelector("#First\\ name\\:input");
我使用
explict wait
等待输入元素

输入元素:


名字:

试试看:
byid=By.id(“名字”)

您可以使用:

By xpath = By.Xpath("//input[@id='First name:input']");
By selector = By.CssSelector("input[id='First name:input']");
根据您共享的HTML,在所需元素上调用
Click()
/
SendKeys()
,因为该元素是一个元素,您需要指示WebDriverWait以使该元素可单击,并且您可以使用以下任一解决方案:

  • css选择器

    new WebDriverWait(driver, TimeSpan.FromSeconds(10)).Until(ExpectedConditions.ElementToBeClickable(By.CssSelector("input.k-textbox.ng-pristine.ng-empty.ng-invalid.ng-invalid-required.ng-valid-pattern.flow-required.ng-touched[id*='First']"))).Click();
    
  • XPath

    new WebDriverWait(driver, TimeSpan.FromSeconds(10)).Until(ExpectedConditions.ElementToBeClickable(By.XPath("//input[@class='k-textbox ng-pristine ng-empty ng-invalid ng-invalid-required ng-valid-pattern flow-required ng-touched' and @id=\"First name:input\"]"))).Click();
    
试试这个:

  • 最好在没有空格的情况下更改ID
  • 如果您想按Id搜索,请尝试以下操作:
    by.Id(“名字”)
  • 如果您想使用XPath:
    by.XPath(“/*[@id='First\u name'])
    By.Xpath(//label[@id='First_name'])
    By.Xpath(//label[contains(text(),'First name:')])”
    对于Xpath参考,您可以在这里找到
  • 抱歉,.css选择器从未使用过

    
    名字:
    
    这些定位器是否有任何异常?