Jxbrowser:如何将这段代码从v6复制到访问dom,并将输入和单击设置到v7.15?
我想用我自己的搜索栏制作一个谷歌地图克隆(学校项目)。我一直在玩最新版本的jxbrowser。我正在尝试访问“doc”以使用findById设置domhtml的输入,并将value设置为value。我知道如何在v6中进行设置:Jxbrowser:如何将这段代码从v6复制到访问dom,并将输入和单击设置到v7.15?,dom,jxbrowser,Dom,Jxbrowser,我想用我自己的搜索栏制作一个谷歌地图克隆(学校项目)。我一直在玩最新版本的jxbrowser。我正在尝试访问“doc”以使用findById设置domhtml的输入,并将value设置为value。我知道如何在v6中进行设置: private void kButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_kButton2ActionPerformed DOMDocument doc
private void kButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_kButton2ActionPerformed
DOMDocument doc = browser.getDocument();
DOMElement address_element = doc.findElement(By.id("address"));
DOMElement search_element = doc.findElement(By.id("submit"));
DOMElement button = (DOMElement) search_element;
DOMInputElement address = (DOMInputElement) address_element;
address.setValue(searchbar.getText());
button.click();
但是如何在v7.15中复制此代码?
我在v7.15中的代码
//How do i do browser.getDocument(); ?
browser.mainFrame().ifPresent(frame ->
frame.document().ifPresent(document -> {
String baseUri = document.baseUri();
}));
//我怎么写这部分,它不能解析文档元素
documentElement.findElementById("address").ifPresent(element ->
((InputElement) element).value(new address));
documentElement.findElementById("sumbit").ifPresent(element ->
((InputElement) element).click
///如何单击按钮
browser.mainFrame().flatMap(Frame::document).ifPresent(document -> {
String baseUri = document.baseUri();
System.out.println(searchLocationA.getText());
System.out.println(searchLocationB.getText());
document.findElementById("departure").ifPresent(element -> ((InputElement) element).value(searchLocationA.getText()));
document.findElementById("destination").ifPresent(element -> ((InputElement) element).value(searchLocationB.getText()));
document.findElementById("submit").ifPresent(Node::click);
System.out.println("buttons work");
});
解决方案