我想使用JSoup和Java通过选择下拉列表中的选项来获取动态添加的数据。一个更好地显示我要表达的内容的示例是http://www.bulletin.uga.edu/CoursesHome.aspx。动态前缀/主要下拉菜单中的每个下拉选项都会动态创建一个提供所有课程的下拉菜单,或者是一个“所有课程”的选项。选择课程后,它将动态添加所有课程信息。如果选择所有课程,它将添加该专业中的每个课程数据。
我可以获得所有列表值。到目前为止,这是我的代码。我只是不知道如何使用值来加载所有数据并遍历所有数据。
package getInfo;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
public class getInfo {
public static void main(String[] args){
try{
Document doc = Jsoup.connect("http://www.bulletin.uga.edu/CoursesHome.aspx").get();
org.jsoup.select.Elements links = doc.select("option");
for(Element e: links)
{
//System.out.println(e);
//System.out.println(e.text());
System.out.println(e.attr("value"));
}
} catch (IOException ex){
Logger.getLogger(getInfo.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
这将返回所有下拉列表值的列表
最佳答案
JSoup不是最好的选择。 JSoup主要是HTML解析器。尽管它提供了一些有用的方法来获取内容,但它并不是一款无用的浏览器。
我建议您在这里使用Selenium。它将轻松处理动态添加的数据。