我没有找到任何关于我的问题的有用信息。对不起,如果我重复。
例如,我想在站点链接“移动站点”底部单击http://www.bbc.com/的主页。在随便我这样做,点击我的按钮:
driver.getMouse(driver.findElement(By.Id("blq-footer-mobile"))).click();
但现在我需要模拟用户的活动。
1. 我需要将页面滚动到底部
2. 需要将光标移动到链接上
3. 点击它
我真的尝试了我在互联网上找到的所有东西,但一切都错了。
我没有找到任何关于我的问题的有用信息。对不起,如果我重复。
例如,我想在站点链接“移动站点”底部单击http://www.bbc.com/的主页。在随便我这样做,点击我的按钮:
driver.getMouse(driver.findElement(By.Id("blq-footer-mobile"))).click();
但现在我需要模拟用户的活动。
1. 我需要将页面滚动到底部
2. 需要将光标移动到链接上
3. 点击它
我真的尝试了我在互联网上找到的所有东西,但一切都错了。
WebDriver
使用本机浏览器 API 模拟用户与 Web 应用程序的交互。因此,只要您使用 pure WebDriver API
,您就是在模拟自然用户。您不需要显式滚动,WebDriver
会为您执行此操作。如果它没有滚动,那么它是一个错误,请相应地报告它。至于您的问题,这是有效的代码。
WebDriver driver = new FirefoxDriver();
driver.get("http://www.bbc.com/");
WebElement element = driver.findElement(By.id("blq-footer-mobile"));
element.click();
上述网站中的移动网站链接只会将您带到BBC 的英国网站。
这意味着,点击 http://www.bbc.com/ 中的移动站点链接实际上会将您带到http://www.bbc.co.uk/,其中页面保持不变,只是 URL 发生了变化。 .
如果您真的想在移动站点链接上进行实验,请使用此 URL: http ://www.bbc.co.uk/
您可以尝试以下代码:
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 的实际移动站点..