我在JavaSeleniumWebdriver中动态生成了一个HTML文件,这个HTML文件有两个div标签,每个标签都有自己唯一的id属性。
我想在代码的后面根据它们的id动态地将HTML文本添加到这些div标记中。
能否做到这一点?如果是,有人能为我指出如何实现这一点的正确方向吗?如果否,实现这一点的替代方法是什么?
我正在努力解决这种情况。我真的需要能够基于div标签动态地将数据附加到HTML页面。
提前感谢!
public void createsummaryfile(String report,String path) throws IOException{
File summary;
summary = new File(filepath);
if(!summary.exists()){
summary.createNewFile();
}
BufferedWriter bw = new BufferedWriter(new FileWriter(summary));
bw.write("<!DOCTYPE html>");
bw.write("<html><head><h1 align=center>EDC Reports Test Case Execution Summary</h1>");
bw.write("<style>#report_table{height: 300px;left: 1em;position: relative;top: 5em;width: 300px;}#report{height: 300px;left: 20em;position: relative;top: -15em;width: 300px;}</style></head>");
bw.write("<body><div id=report_table><table align=center border=1><tbody><tr><th>Report Name</th></tr></div>");
bw.write("<body><div id=report_display></div>");
bw.write("</html>");
bw.close();
}
public void populate_summary(String report,String path) throws IOException{
File summary_report = new File(filepath);
BufferedWriter br = new BufferedWriter(new FileWriter(summary_report,true));
//Here I need to access the div tags by their id's and start appending data
}
1条答案
按热度按时间bn31dyow1#
通过创建DOM树并在其中搜索,可以在HTML文档中找到具有特定ID的
div
-tag。首先,您需要创建文档的DOM表示:
在本例中,我使用此方法查找所需的
div
元素:它正在执行递归查找(实现可能看起来更好一点)找到正确的元素后,可以使用以下行添加新内容(已在第一个方法中):
您可以找到有关将XML字符串附加到DOM元素here的更多信息。
然后,您必须将DOM文档转换回它的字符串表示形式,方法如下:
有关将DOM文档转换为字符串here的详细信息。
最后,我个人的一个问题是,你不应该这样处理你的HTML文档!如果你想在特定的div中添加内容,在服务器端使用JSP,如下所示:
如果您要修改已经传送到客户端的HTML内容,请在服务器上使用 AJAX 和适当的JSP或Servlet。