c# - 如何修复 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();
解决方案
您可以使用以下代码来解决问题:
IJavascriptExecutor js = (IJavascriptExecutor) driver;
button = river.FindElement(By.Id("play_button"));
jse.executeScript("arguments[0].scrollIntoView(true);", button);
button.Click()
PS:您也可以使用显式等待来单击元素,然后单击它。
希望对你有帮助!
推荐阅读
- java - 尝试在 Spring Cloud 中获取 kafka 密钥时出现 Class Cast Exception
- istio - 使用 istio 和不使用 istio 的 jaeger 跟踪的优点是什么?
- highcharts - 删除日期时间轴上直方图列之间的间距
- java - 在 Eclipse STS 中为 *.properties 启用内容辅助
- linux - Linux find -type f 被忽略
- ios - 使用 UISearchController 时,iOS 13 UIBarButtonItem 不可点击且 UINavigationBars 重叠
- mysql - mysql-connector AttributeError:“NoneType”对象没有属性“fetchall”
- c# - 如何检查包含反斜杠的字典中键的值
- powershell - 将凭证传送到 Invoke-WebRequest
- python - 使用 .loc[row_indexer,col_indexer] = value 更新列时收到警告