Java Selenium:元素无法滚动到视图中

Java Selenium:元素无法滚动到视图中,java,selenium,xpath,Java,Selenium,Xpath,我正在尝试通过Eclipse使用java学习Selenium。我试图在网页中找到一个元素 我试着用这行代码点击一个html 使用这段代码,我遇到了一个异常: 元素无法滚动到 看法 我是否使用了错误的语法来定位元素 谢谢你的建议 定位器看起来不错,因为您没有收到任何TouchElement异常。尝试下面的javascript单击,它不需要将元素滚动到视图中 JavaScript点击 WebElement element = driver.findElement(By.xpath("//a[@hre

我正在尝试通过Eclipse使用java学习Selenium。我试图在网页中找到一个元素

我试着用这行代码点击一个html

使用这段代码,我遇到了一个异常:

元素
无法滚动到 看法

我是否使用了错误的语法来定位元素


谢谢你的建议

定位器看起来不错,因为您没有收到任何TouchElement异常。尝试下面的javascript单击,它不需要将元素滚动到视图中

JavaScript点击

WebElement element = driver.findElement(By.xpath("//a[@href='itemDetail.php?id=19']"));
JavascriptExecutor js = (JavascriptExecutor) driver;  
js.executeScript("arguments[0].click();",element);
如果要将元素滚动到视图中并执行正常操作,请单击下面的代码

滚动到视图并正常单击:

WebElement element = driver.findElement(By.xpath("//a[@href='itemDetail.php?id=19']"));    
JavascriptExecutor js = (JavascriptExecutor) driver;  
js.executeScript("arguments[0].scrollIntoView();",element);
element.click();
要找到所需的
元素并单击()
,可以使用以下解决方案:

new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//div[@class='container']//figcaption[text()='Play-Doh Rainbow Starter Pack']//preceding::img[1]"))).click();

异常并不是说元素不存在。它已定位,但不可见,无法单击。您可以尝试此操作
new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//div[@class='container']//figcaption[text()='Play-Doh Rainbow Starter Pack']//preceding::img[1]"))).click();