我有一个简单的报废应用程序,我想在其中找到匹配项的所有 href:
public class MainClass {
public static void main(String args[]) {
WebDriver driver = null;
driver = new HtmlUnitDriver(BrowserVersion.CHROME);
// driver = new ChromeDriver();
driver.manage().timeouts().pageLoadTimeout(5, TimeUnit.MINUTES);
driver.get("https://www.tipsport.cz/live");
System.out.println("HTMLELEMENT: n" + driver.getPageSource());
List<WebElement> elements = driver.findElements(By.xpath("//div[@id='events']//a"));
System.out.println("Size of elements: " + elements.size());
}
}
如果我通过 HTML 单元驱动程序以这种方式执行此操作,我会得到"Size of elements: 0"
.当我查看安慰并尝试找出带有 id="events" 的元素时。它就在那里:
<div class="liveList" id="events">
当我使用 ChromeDrive 运行相同的代码时,它会找到元素,目前是 51。
为什么是这一行
List<WebElement> elements = driver.findElements(By.xpath("//div[@id='events']//a"));
在ChromeDriver和HTMLUnitDriver中没有做同样的事情,你能帮我做错什么吗?我需要在没有铬的情况下运行它
通过直接 HtmlUnit 访问(2.27 快照(并等待,它会检索值:
try (final WebClient webClient = new WebClient(BrowserVersion.CHROME)) {
String url = "https://www.tipsport.cz/live";
HtmlPage page = webClient.getPage(url);
Thread.sleep(5_000);
List<?> elements = page.getByXPath("//div[@id='events']//a");
System.out.println(elements.size());
}
我不确定您使用哪个 HtmlUnitDriver 版本,以及为什么最新发布的版本返回 0。