为Selenium Webdriver C#添加ChromeOptions

时间:2017-08-15 05:25:45

标签: c# selenium

据我所知,Webdriver找到元素时的默认操作是滚动,使元素尽可能远离页面顶部。这是一个问题,因为我正在处理的网站有一个标题,因此每次我尝试点击一个按钮时,它都会点击标题。因此,我想更改滚动设置,以便元素位于页面的底部。

从阅读this我能够找到我想要设置的内容,但是,当我初始化ChromeDriver时,我无法设置DesiredCapabilites或ChromeOptions。有些人可以提供代码/步骤吗?

1 个答案:

答案 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);