我正在使用selenium进行Web应用程序自动化。
我停留在一点上,我正在.ExecuteScript()
执行一些操作,例如单击链接,并且为此使用:-
((IJavaScriptExecutor)driver).ExecuteScript("arguments[0].click()", driver.FindElement(By.XPath("//a[contains(text(),'Login to the Demo')]")));
[ 注意 :对于正在使用的每个可单击元素,此方法,因为可单击元素可能被隐藏或在网页中不可见]但是此方法不起作用,因为
<select> <option>item<option> .. </select>
我正在使用下面的代码单击选择选项之一:
((IJavaScriptExecutor)driver).ExecuteScript("arguments[0].click()", driver.FindElement(By.XPath("//select[@id='form_switcher']/option[5]")));
但没有任何反应,也没有给出任何错误/异常。
- 编辑开始 -
但是如果我不使用它就ExecuteScript()
可以正常工作:
driver.FindElement(By.XPath("//select[@id='form_switcher']/option[5]")).Click();
- 编辑结束 -
[ 注意 :我正在使用click来选择选项,以便它触发更改事件。]
因此,任何人都可以向我解释一下如何使用“ ((IJavaScriptExecutor)driver).ExecuteScript
谢谢”预先单击选择选项。
对于下拉菜单,您需要选择而不是单击。您应该返回该元素,然后执行element.SelectedIndex = 5;
如果您需要修改JavaScript以通过JavaScript而不是硒来获取元素,则可以利用document.evaluate
位于的https://developer.mozilla.org/en-
US/docs/Web/API/document.evaluate?redirectlocale=zh-CN&redirectslug =
DOM%2Fdocument.evaluate
因此,您将返回一个代表您的select元素的元素,然后设置该SelectedIndex
值。
我相信这是正确的…
((IJavaScriptExecutor)driver).ExecuteScript("var element = document.evaluate(\"//select[@id='form_switcher']\", document.documentElement, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null); element.SelectedIndex = 5; return element.fireEvent('event specifics go here')");
http://www.java2s.com/Code/JavaScript/HTML/UsingthefireEventMethod.htm
问题内容: 我最近刚刚将我的Selenium IDE代码导出到了Selenium Web驱动程序。我发现很多在IDE中可用的命令要么无法运行,要么seleniumWeb驱动程序声称根本不支持。到目前为止,我一次只解决了一个问题,这并不理想。 目前,我正在研究为什么以前在Selenium IDE中无法使用Web驱动程序单击按钮的原因。我的浏览器是FF 13,我的操作系统是Ubuntu。 代码段 我以
加拿大城市列表中卡尔加里的选择不起作用,按专业语法单击搜索按钮后,它将始终返回搜索结果中的所有城市。这是我的密码: 提前谢谢!
这是我的选择选项: 这是我的jquery: 这是我的ajax调用控制器: 这对于ajax模型: 在我的第一个视图中,如果我选择该选项,它将显示基于所选选项的。 我把分页的ajax,比如果我点击分页,我所有的将消失,选择的选项将返回到选择活动。 伙计们,你们知道怎么解决这个问题吗?
问题内容: 我需要使用ng-click,以便我可以传递三个参数并根据选择在本地json中进行设置。 我可以如下使用它ng-model和ng-change。 在这种情况下,我不能按如下方式传递三个参数。 问题答案: 最后,我找到了解决方案。 JS小提琴链接 HTML页面是 JavaScript是
问题内容: 我试图在选择元素中选择一个值。我正在使用Selenium RC(Java)运行测试用例。我了解选择值的代码由以下代码给出: 我无法使用上面的代码选择所需的值。我认为这可能与选择源代码中的optgroup有关。我没有任何异常,该命令执行得很好,但是在页面上未选择所需的值。另外,我不能使用ID(而不是值),因为那里没有任何ID。这是选择器的源代码: 有什么方法可以使用Selenium选择所
我正在使用espresso和Mockito为一个Android应用程序编写测试。在一些情况下,当我试图对视图或按钮执行单击操作时,单击操作在测试完成之前没有注册。 测试: log.i(标记,“用URL离开页面:”+URL);从不在logcat中写入。