硒不会;t单击当前屏幕上未显示的元素
Selenium doesn't click on element that is not displayed on a current screen
我打开一个页面,让selenium点击该页面底部的按钮。该按钮不会显示在当前屏幕上(因此您必须向下滚动才能看到它)。正如我所知,当我使用Click()
方法时,硒必须自动滚动到一个元素
不幸的是,当我执行Click()
方法时,它只滚动到元素而没有单击它。
当我在单击元素前设置断点并手动滚动到该元素时,它会很好地单击该元素。
我有Selenium Web驱动程序C#版本2.48.2
我使用ChromeDriver v.47.0.2526.106 m
在我看来,这个问题在以前的版本中已经存在了(所以,很长一段时间了),但在一些版本之前,我可以使用"滚动到元素"方法来解决这个问题现在我用的方法不起作用了
方法如下:
((IJavaScriptExecutor)Driver).ExecuteScript("arguments[0].scrollIntoView();", webElement);
尝试使用Actions
滚动
Actions action = new Actions(driver);
action.MoveToElement(elementToClick).Build().Perform();
elementToClick.Click();
相关文章:
- 使用图像数组列表的simplegallary.js显示适合桌面屏幕的图像
- 调整屏幕大小后不显示子菜单
- 用HTML在不同屏幕上显示和隐藏内容的方法
- 在网站上显示.mov作为加载屏幕的最佳方式
- 根据屏幕宽度显示块
- 根据屏幕大小显示主干.js集合的子集
- 如何显示显示的html元素:在特定的媒体屏幕上没有
- 根据屏幕分辨率显示自定义背景图像
- 如何将弹出窗口居中显示在屏幕上
- 在Chrome扩展程序中,是否可以截屏并在弹出窗口中显示屏幕
- IE11(Windows Phone 8.1)不感应(显示尺寸)屏幕旋转
- HTML/JS 如何输入文本并使其显示在屏幕上
- 在屏幕上显示选择选项图像
- 在屏幕中央显示图像 CSS jQuery
- 仅在较小的屏幕上显示图像
- 在MVC中的“编辑”屏幕中只显示所需的DDL值
- 我希望每次单击按钮时都能将每张图片更改为显示在屏幕上的同一位置
- 确定网络应用程序的屏幕显示时间
- 为什么白色屏幕显示在幻灯片之间的内容
- 如何让等待屏幕显示加载时,它有CSS样式