0

背景:Windows 10;C#.NET;Selenium WebDriver(Chrome);清除脚本

我已经通过 ClearScript 向 javascript 公开了许多 Selenium 函数。在剧本...

var url = "http://www.google.com.au";
var driver = new CSChromeDriver();
driver.Navigate().GoToUrl(url);

...

var topLeft = driver.FindElement(CSBy.TagName("body"));
var builder = new CSActions(driver);
var tl = builder.MoveToElement(topLeft, 200, 200);
tl.Build().Perform();

...我创建了一个 Chrome 网络驱动程序的实例,导航到一个网站,找到“body”标签,创建一个 Actions 对象的实例,并使用它,移动到 (200,200) 的 (x,y)身体的左上角。

我在那里有代码(未显示),它告诉我浏览器认为鼠标在哪里。在上述之后,浏览器向我报告它的内部 (x,y) 是 (200,200),这很棒。不太重要的是屏幕上的鼠标指针没有移动到匹配。

有没有办法告诉鼠标指针反映浏览器的内在现实?

4

1 回答 1

1

moveToElement 不会将鼠标指针更改为指向该坐标。我将使您的变量“tl”引用该坐标中存在的元素,您可以执行单击它之类的操作。

不,selenium 没有任何内置方法可以使鼠标指针从一个位置移动到另一个位置(我的意思是显示过渡)。

如果要突出显示正在执行当前操作的元素,可以使用 javascript 执行器在 selenium 中执行此操作

JavascriptExecutor js=(JavascriptExecutor)driver;
js.executeScript("arguments[0].setAttribute('style,'border: solid 2px red'')", username);
于 2016-08-04T07:19:26.743 回答