Java 使用Selenium Webriver功能时出现问题

Java 使用Selenium Webriver功能时出现问题,java,selenium,webdriver,Java,Selenium,Webdriver,我没有找到任何关于我的问题的有用信息。对不起,我重复一遍 例如,我想点击网站链接“移动网站”底部的主页。在休闲中,我会这样做,点击我的按钮: driver.getMouse(driver.findElement(By.Id(“blq footer mobile”)))。单击() 但是现在我需要模拟用户的活动。 1.我需要将页面滚动到底部 2.需要在链接上移动光标 3.点击它 我真的尝试了在internet上找到的所有内容,但都错了。WebDriver使用本机浏览器API模拟用户与web应用程序的

我没有找到任何关于我的问题的有用信息。对不起,我重复一遍

例如,我想点击网站链接“移动网站”底部的主页。在休闲中,我会这样做,点击我的按钮:

driver.getMouse(driver.findElement(By.Id(“blq footer mobile”)))。单击()

但是现在我需要模拟用户的活动。
1.我需要将页面滚动到底部
2.需要在链接上移动光标
3.点击它


我真的尝试了在internet上找到的所有内容,但都错了。

WebDriver
使用本机浏览器API模拟用户与web应用程序的交互。因此,只要您使用纯
webdriverapi
,您就是在模拟自然用户。您不需要显式滚动,
WebDriver
将为您执行此操作。如果它没有滚动,那么它是一个bug,请相应地报告它。至于你的问题,下面是有效的代码

WebDriver driver = new FirefoxDriver();
driver.get("http://www.bbc.com/");
WebElement element = driver.findElement(By.id("blq-footer-mobile"));
element.click();

上述网站中的移动网站链接将把你带到英国广播公司的英国网站

这意味着,点击移动站点中的链接将实际引导您进入,页面中的链接保持不变,只是URL发生了更改

如果您真的想在移动站点上进行试验,请使用以下URL:

您可以尝试以下代码:

WebDriver driver = new FirefoxDriver();
driver.get("http://www.bbc.co.uk/");
new WebDriverWait(driver,30).until(ExpectedConditions.visibilityOfElementLocated(By.id("blq-footer-mobile"))).click();

这将等待元素可见性并单击它,这将带您进入BBC的实际移动站点。

我自己无法尝试您的示例,但我认为如果您使用
driver.findElement(By.Id(“blq footer mobile”)。单击()
,WebDriver会尝试自动滚动。有关滚动的帮助,请参阅以下讨论: