首页 > 解决方案 > 如何修复 Selenium 中的“无法滚动到视图中”错误?

问题描述

我正在使用 Selenium 来自动化应用程序,但是当我尝试单击<a>标签时,它会引发以下错误:

元素<a id="play_button" class="clickable myButton margin_t15 lang_57 medium_font" href="javascript:;">无法滚动到视图中。

我将 Selenium 与 C# 和 Firefox V62 一起使用!

另外,我知道元素是隐藏的,加载网页后5秒就会出现!现在我该如何解决这个错误?

我也尝试by.xpath(), by.name()过太多这样的方法!

这是我的代码:

IWebDriver driver = new FirefoxDriver();
driver.Url = "The Web Site";
driver.FindElement(By.Id("play_button")).Click();

标签: c#seleniumselenium-webdriverwebdriver

解决方案


您可以使用以下代码来解决问题:

IJavascriptExecutor js = (IJavascriptExecutor) driver;
button = river.FindElement(By.Id("play_button"));
jse.executeScript("arguments[0].scrollIntoView(true);", button);
button.Click()

PS:您也可以使用显式等待来单击元素,然后单击它。

希望对你有帮助!


推荐阅读