首页 文章

Selenium UI自动化:在运行jquery脚本时无法在IE浏览器中获取元素

提问于
浏览
0

在selenium自动化中,我试图在IE 11浏览器中执行jquery脚本,但在执行脚本时它会抛出以下错误 . 此外,相同的代码在chrome浏览器中工作,没有任何问题 .

以下是代码:

IJavaScriptExecutor js = _driver as IJavaScriptExecutor;
string query = "return jQuery('#myID').parent();";
            var objElement = js.ExecuteScript(query);
            foreach (IWebElement element in (IEnumerable)objElement)
            {
                _webElement = element;
            }

enter image description here

at OpenQA.Selenium.Remote.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute,Dictionary 2 parameters) at OpenQA.Selenium.Remote.RemoteWebDriver.InternalExecute(String driverCommandToExecute, Dictionary 2参数)在OpenQA.Selenium.Remote.RemoteWebElement.Execute(String commandToExecute,Dictionary`2)参数)在OpenQA.Selenium.Remote.RemoteWebElement.get_Text()

注意:另外,我尝试了一些其他脚本,它在Ie浏览器中工作 .

点击按钮,

IJavaScriptExecutor js = _driver as IJavaScriptExecutor;
 string query = "return jQuery('#myID').parent().click();"
            var objElement = js.ExecuteScript(query);

请帮帮我 .

非常感谢你的帮助 .

1 回答

  • 0

    首先,我不建议在IE中进行测试 . 我发现,最好的测试浏览器是Google Chrome . 有时IE只是无法找到一个元素而且它变得如此烦人,我将测试集中在Chrome和Firefox上 . 您的代码看起来像C# . 您不需要使用JQuery来定位对象 . 您可以使用

    driver.FindElement(By.Id("myid")).Click();
    

    或者您可以使用Selenium IDE(Firefox扩展程序)自动生成多种语言的优秀代码 . 它通过XPath选择元素 . 我希望我能帮到你 .

相关问题