java无需id/名称即可自动登录网站
我想用java自动登录一个网站。我已经做了很多研究,正在使用HtmlUnit实现它。但是,我想登录的特定网站没有id和name的值。有人能建议我在这里能做什么吗?检查登录/密码字段时,所有网站通常都有一个名称或id。这就是这个网站的样子
<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>
通常,我找到的所有教程和建议在输入标签之间都有一个名称或id字段。我在参考了其他源代码后尝试实现了这一点,但get元素仅对name/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("myusername@123.com");
HtmlElement psswrd = page.getElementByName("password");
psswrd.click();
psswrd.type("mypassword");
HtmlElement signin = page.getElementByName("submit");
signin.click();
System.out.println(page.getTitleText());
webClient.close();;
}
有什么建议可以帮你完成吗
# 1 楼答案
对该输入类型使用XPath
或者