【发布时间】:2016-05-09 17:07:16
【问题描述】:
在WebView 中访问网页元素的最简单、最优雅的方法是什么?在浏览器中检查元素时,我们是否可以通过名称访问我们知道的元素,例如 stackoverflow 顶部的搜索表单?
我阅读了来自jewelsea、James_D 和其他一些贡献者的关于自动填充文本字段的一些类似问题和答案,但至少它们看起来都很复杂。
我将在其中包含我创建WebView 的简短代码,如果有人能够以简单易懂的方式完成此任务,那就太好了。
邮件类
public class Mail extends Region{
final WebView webView = new WebView();
final WebEngine webEngine = webView.getEngine();
public Mail() {
webEngine.load("https://mail.metropolitan.ac.rs/?client=advanced#1");
getChildren().add(webView);
}
@Override
protected void layoutChildren() {
double w = getWidth();
double h = getHeight();
layoutInArea(mail, 0, 0, w, h, 0, HPos.CENTER, VPos.CENTER);
}
将mail 添加到StackPane 的方法
public class Controller implements Initializable {
private Mail mail;
// Unrelated code
@FXML
private void selectMail() {
mail = new Mail();
stackPane.getChildren().add(mail);
}
}
// Unrelated code
}
假设我们想要访问两个 TextField 来自动填写表单。
这是我在检查用户名文本字段后得到的:
<input name="username" class="zLoginField" id="username" type="text" size="40" maxlength="1024" value="" autocorrect="off" autocapitalize="off">
这是密码文本字段:
<input name="password" class="zLoginField" id="password" type="password" size="40" maxlength="1024" value="" autocomplete="off">
注意:这不是任务或类似的东西,我只是在搞砸它,所以没有任何成功。欢迎所有示例,无论是我的还是你的。
【问题讨论】: