Я хотел автоматизировать вход на сайт с помощью java. Я много исследовал и реализую его с помощью HtmlUnit. Однако на конкретном веб-сайте, на котором я хочу войти, нет значений для имени и имени. Может кто-нибудь, пожалуйста, предложите, что я могу здесь сделать? При проверке полей входа/пароля на каждом веб-сайте обычно указывается имя или идентификатор. Вот как выглядит этот сайт.Автоматизация входа в сайт без id/name
<div class="js-one-auth">
<input type="email" class="js-email form-control input-lg" placeholder="Enter email">
<input type="password" class="js-password form-control input-lg" placeholder="Enter password">
<button type="submit" class="js-login btn btn-success btn-lg" style="width: 140px" disabled="">
<span class="vs-login-text">Log In</span>
<i class="vs-spinner fa fa-refresh fa-spin"></i></button>
<div class="js-caps-msg vs-login-msg alert alert-warning">Caps lock appears to be enabled</div>
</div>
Обычно все обучающие материалы и предложения, которые я нашел, имеют поле имени или идентификатора, доступное между входными тегами. Я попытался реализовать это после ссылки на другие источники, но элемент get доступен только для имени/id.
public static void main(String[] args) throws Exception{
final WebClient webClient = new WebClient();
final HtmlPage page = webClient.getPage("Site address");
HtmlElement usrname = page.getElementByName("email");
usrname.click();
usrname.type("[email protected]");
HtmlElement psswrd = page.getElementByName("password");
psswrd.click();
psswrd.type("mypassword");
HtmlElement signin = page.getElementByName("submit");
signin.click();
System.out.println(page.getTitleText());
webClient.close();;
}
Любые предложения, как добиться этого?
Вы пытались получить элемент его атрибуты, как '' type', class' , или 'placeholder'? – ChiefTwoPencils
Я попытался сделать что-то, извлекая элемент по ссылке xpath, а также атрибуту. Я получил пустой список. Поэтому я не знаю, что происходит. – hammad2506