据我所知,Webdriver找到元素时的默认操作是滚动,使元素尽可能远离页面顶部。这是一个问题,因为我正在处理的网站有一个标题,因此每次我尝试点击一个按钮时,它都会点击标题。因此,我想更改滚动设置,以便元素位于页面的底部。
从阅读this我能够找到我想要设置的内容,但是,当我初始化ChromeDriver时,我无法设置DesiredCapabilites或ChromeOptions。有些人可以提供代码/步骤吗?
答案 0 :(得分:1)
你可以使用这样的东西
var chromeOptions = new ChromeOptions();
chromeOptions.AddUserProfilePreference("intl.accept_languages", "en");
chromeOptions.AddUserProfilePreference("disable-popup-blocking", "true");
var driver = new ChromeDriver(chromeOptions);
修改-2 强> 如果您要设置的选项不适合您,请尝试使用操作
var elem = driver.FindElements(By.Id("your element"));
Actions action = new Actions(driver);
action.MoveToElement(elem).Click(elem).Perform();//move to list element that needs to be hovered
修改-3 强>
如果上述方法也不起作用,那么下一个选项就是使用Javascript
var elem = driver.FindElements(By.Id("your element"));
IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
var success = js.ExecuteScript("arguments[0].click(); return true", elem);