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

时间:2016-10-21 09:02:15

标签: selenium selenium-webdriver selenium-ide selenium-chromedriver selenium-rc

在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

在OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)    在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 :(得分:0)

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

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

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