我正在抓取一个网站的数据,该数据需要我向下滚动,然后单击下一步按钮进入新页面。下面是我的代码:
WebElement next = driver.findElement(By.cssSelector("li.ng-scope[translate='next']"));
row = (ArrayList<WebElement>) driver.findElements(By.cssSelector(".event-row-container.ng-scope"));
((JavascriptExecutor) driver).executeScript("window.scrollTo(0,"+next.getLocation().y+")");
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
WebDriverWait wait = new WebDriverWait(driver,10);
wait.until(ExpectedConditions.elementToBeClickable(next)).click();
next.click();
我最终遇到以下错误:
线程“主”中的异常org.openqa.selenium.WebDriverException: 未知错误:元素...不可点击 (360,14)。其他元素将获得点击:...(会话信息:chrome = 71.0.3578.98) (驱动程序信息:chromedriver = 2.42.591059 (a3d9684d10d61aa0c45f6723b327283be1ebaad8),平台= Mac OS X 10.13.6 x86_64)(警告:服务器未提供任何堆栈跟踪 信息)
我要抓取的网站是:https://www.sportpesa.co.ke/?sportId=1§ion=today
答案 0 :(得分:0)
硒具有内置的滚动功能,如果您使用
WebElement element = driver.findElement(By.cssSelector("li.ng-scope[translate='next']"));
Actions actions = new Actions(driver);
actions.moveToElement(element);
actions.perform();
提供标识符正确的