2014-01-11 11 views
1

У меня есть конкретный вопрос, так как я не могу понять, как отправить форму без «id» или «name» в selenium.webdriver (phantomjs) есть html logim форма:ASP.NET MVC 4 C# регистрационная форма с PhantomJS и Selenium

<div class="ui-helper-child-2 ui-page-column-last ui-page-column-span-12"> 
<div class="ui-page-column-block ui-widget-signin"> 
    <h1>Sign In</h1> 
    <form action="/glo/en-us/session,create/view.html" method="post"> 
    <div class="ui-helper-child-1"> 
     <label class="ui-state-required" for="username">Customer ID:</label> 
     <input id="username" name="username" maxlength="9" type="text" value="" /> 
    </div> 
    <div class="ui-helper-child-2"> 
     <label class="ui-state-required" for="password">Password:</label> 
     <input id="password" name="password" maxlength="20" type="password" value="" /> 
    </div> 
    <div class="ui-helper-child-3"> 
     <label class="ui-state-required" for="companyId">Company:</label> 
     <select id="companyId" name="companyId"> 
     <option selected="selected" value="glo">Choose company</option> 
     <option value="asp">new to asp</option> 
     <option value="aeg">who is it</option> 
     <option value="asus">who use this brand name</option> 
     </select> 
    </div> 
    <div class="ui-helper-child-4"> 
     <input id="callback" name="callback" type="hidden" value="/glo/en-us/home,show/view.html?error=1" /> 
     <input type="submit" value="Sign In" /> 
    </div> 
    </form> 
</div> 

и еще один раз, как войти в систему? Я могу добавить информацию с помощью webdriver.FindElement (имя пользователя) и т. Д., Но не знаю, как отправлять данные, поскольку у меня нет идентификатора или имени в элементе submit.

ответ

0

Я думаю, что это будет работать для вас:

driver.FindElement(By.CssSelector(".ui-helper-child-4>[type='submit']")).Click(); 
+0

Да он работает .. спасибо. Мне кажется, что я слишком ленив, чтобы найти элементы. – Dovydas