【问题标题】:Difference Between Selenium WebDriver Click Method and Java Script Click method [duplicate]Selenium WebDriver Click方法和Javascript Click方法之间的区别[重复]
【发布时间】:2016-10-17 07:00:42
【问题描述】:

我有一个关于单击元素的最佳做法是什么的问题

1)  Click by Selenium Webdriver Click Event or

2)  or below ClickbyJS method.     

   public static void ClickByJS(IWebElement element, string name)
    {
        try
        {
            IJavaScriptExecutor js = _driver as IJavaScriptExecutor;
            js.ExecuteScript("arguments[0].click();", element);
        }
        catch (Exception ex)
        {
            throw new ApplicationException("Unable to click " + name, ex);
        }
    }

询问的原因是由于新的 Specflow 版本 2.53 和 Firefox 45 大多数地方正常的 selenium 点击事件无法像以前那样工作。所以我用上面的 ClickbyJS 方法替换了大部分点击事件,但我需要知道这是正确的解决方案吗?

如果我使用 ClickByJS 并没有过度扼杀用户对浏览器的实际操作,请告诉我。

【问题讨论】:

    标签: javascript selenium selenium-webdriver


    【解决方案1】:

    WebDriver 在浏览器上模拟的点击与使用 javascript 调用的点击相比,与实际用户所做的类似。但是使用 WebDriver 并不是所有的事件都可以通过所有的网络浏览器完美地自动化,事实上同样的网络浏览器的不同版本也是如此。另一方面,使用 JS,您将不会遇到此类问题。

    无论您是要模拟用户的近似精确操作还是可以在没有任何浏览器及其版本开销的情况下执行的健壮脚本,您仍然可以选择。

    【讨论】:

      最近更新 更多