Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/308.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.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:如何找到textfield元素存在或不存在,然后对其进行处理?_C#_Selenium_Selenium Webdriver - Fatal编程技术网

C# Selenium:如何找到textfield元素存在或不存在,然后对其进行处理?

C# Selenium:如何找到textfield元素存在或不存在,然后对其进行处理?,c#,selenium,selenium-webdriver,C#,Selenium,Selenium Webdriver,一定是一个更好的方法,然后这个????(错误代码):( 使用列出passwordElements=driver.FindElements(By.Id(“密码”))。如果passwordElements中包含的项超过0项,则可以使用它。如果未找到项,则可以检查其他类型,然后适当地调用SendKeys。应首先检查元素是否存在。例如:driver.FindElements(),然后检查size(),如果size()>0->element exists->sendKeys它将引发一个异常,-这将引发一个

一定是一个更好的方法,然后这个????(错误代码):(


使用
列出passwordElements=driver.FindElements(By.Id(“密码”))
。如果passwordElements中包含的项超过0项,则可以使用它。如果未找到项,则可以检查其他类型,然后适当地调用
SendKeys

应首先检查元素是否存在。例如:driver.FindElements(),然后检查size(),如果size()>0->element exists->sendKeys它将引发一个异常,-这将引发一个异常---->var passwordFieldElement=driver.FindElement(By.Id(“密码”);我使用了FindElement(结尾是s):)是的,我刚刚在这里找到了答案,谢谢:)也许这个IWebElement passwordElements=driver.FindElement(By.Id(“密码”);?我不这么认为。如果我没记错的话,
findelelement
将抛出
OpenQA.Selenium.NoSuchElementException:当元素找不到它所期望的内容时,无法找到该元素
FindElements
将尝试查找一些,如果没有找到,则返回一个空的
列表。我面前没有VisualStudio,在那里我可以查看我编写的使用此工具的测试。明天早上我一到办公室就会尝试更新。这会引发一个异常:(var passwordFieldElement=driver.FindElement(By.Id(“password”));是的..我说的是call
FindElement
而不是
FindElement
。你需要调用末尾带有“s”的那一个,它将返回集合类型。是的,我刚刚在这里找到了答案,谢谢:)
<input id="password" name="password" maxlength="500" size="18" autocomplete="off" type="password">

<input id="passcode" name="password" maxlength="6" size="18" autocomplete="off" type="text">
if input id "password" exist then enter "mytext" otherwise
else if input id "passcode" exist then enter  "myPassCode"
else throw exception (missing password,passcode text fields)
        try

        {

            driver.FindElement(By.Id("password")).SendKeys("myPassword");

        }

        catch (Exception ex)

        {

            try

            {

                driver.FindElement(By.Id("passcode")).SendKeys("myPassCode");

            }

            catch (Exception ex)

            {



            }

        }