我正在使用Selenium Web驱动程序,同时使用Chrome和HTMLUnit。对于Chrome,以下代码可以工作,但HTMLUnit返回一个错误,表示找不到元素。
SeleniumUtils.goURL(driver, "https://someweb.com");
Thread.sleep(3000); //Added just in case it was loading time
List<WebElement> list = SeleniumUtils.getElements(driver, TrackingPage.getTableContent());
最后一行将返回null,没有找到任何元素。使用的XPath是:
return By.xpath("//*[@id="__xmlview1--idProductsTable-tblBody"]/tr");
适用于Chrome,在使用HTMLUnit的XPath中失败。知道吗?
使用的驱动程序是这样创建的:
HtmlUnitDriver driver = new HtmlUnitDriver();
尝试使用这个:
//*[@id='__xmlview1--idProductsTable-tblBody']/tr
我在这里使用了单引号。这不会有什么不同,但你可以尝试一下,看看它是否有效。请告诉我它是否有效。
试试这个代码:
List<WebElement> list = driver.findElements(By.xpath("//*[@id="__xmlview1--idProductsTable-tblBody"]/tr"));