Selenium:如何找到textfield元素是否存在然后用它做什么?

时间:2014-07-25 02:38:44

标签: c# selenium selenium-webdriver

<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">

我想查找密码文本字段是否存在,然后输入“myPassword” 如果存在密码文本字段,则输入“myPassCode”,否则抛出异常。

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)

            {



            }

        }

1 个答案:

答案 0 :(得分:1)

使用List<IWebElement> passwordElements = driver.FindElements(By.Id("password"))。如果passwordElements中包含的项目超过0个,则可以使用它。如果没有找到,您可以检查其他类型,然后适当地致电SendKeys