如何在Selenium Firefox C#上模拟触摸/轻击

问题描述 投票:0回答:1

我正在尝试在Selenium WebDriver Firefox(Geckodriver)上模拟屏幕上的点击。

There is a script写入是否已单击(通过鼠标)或点按到屏幕。我可以通过Selenium对其进行“单击”,而不会出现任何问题。我只想“点击”它。可能吗?我该怎么办?

我正在使用最新版本的Geckodriver和Firefox。我的代码在下面。

var touchActions = new OpenQA.Selenium.Interactions.TouchActions(driver);
string url = "https://jsfiddle.net/bkwb0qen/15/embedded/result/";
driver.Navigate().GoToUrl(url);
driver.SwitchTo().Frame(0);
IWebElement element = driver.FindElement(By.Id("square"));
touchActions.SingleTap(element).Build().Perform();

c# selenium selenium-webdriver touch geckodriver
1个回答
0
投票

对于C#,我使用以下代码来处理点击:

private static void Tap(this IPerformsTouchActions driver, int x, int y)
{
    new TouchAction(driver).Tap(x, y).Perform();
}

您可以这样称呼它,相对于元素的x / y坐标:

driver.Tap(element.Location.X, element.Location.Y);

TouchActions为我抛出一个错误,抱怨我需要将IWebDriver强制转换为IPerformsTouchActions,这似乎是IWebDriver的子类型,因此这就是driver的方法参数为IPerformsTouchActions。为了明确起见,您可以针对常规IWebDriver对象调用它。

© www.soinside.com 2019 - 2024. All rights reserved.