我有简单的剪贴簿应用程序,我想在匹配项上找到所有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"
。当我查看consolse并尝试找出id =&#34; events&#34;的元素时。它在那里:
<div class="liveList" id="events">
当我使用ChromeDriver运行相同的代码时,它会找到元素,目前它是51。
为什么这一行
List<WebElement> elements = driver.findElements(By.xpath("//div[@id='events']//a"));
在ChromeDriver和HTMLUnitDriver中没有做同样的事情,你能帮我解决一下我做错的事吗?我需要在没有chrome的情况下运行它
答案 0 :(得分:0)
使用直接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。