我一直很高兴地将XPath与Selenium一起使用,甚至将getEval与Java脚本一起使用,但是一位同事说,能够在Selenium中使用JQuery选择器不是很好。
我已经用谷歌搜索过,但是找不到适合我的文章。任何人都可以提供有关如何使用JQuery语法从selenium中提取doc元素及其各自值的全面指南。
我正在使用C#编写我的selenium测试,因此,如果可以从C#角度来看任何示例,那就太好了。
谢谢
Karl
Swedberg撰写了一篇有关它的出色博客文章,该文章可以在http://www.learningjquery.com/2009/04/better-
stronger-safer-jquerify-
bookmarklet中
找到
我们对此进行了调整,基本上在Selenium Server jar文件中,我们修改了RemoteRunner.html以包含jquery
JavaScript(从http://code.jquery.com/jquery-
latest.min.js获得):
<script language="JavaScript" type="text/javascript" src="jquery.min.js"></script>
<script language="JavaScript" type="text/javascript">
function openDomViewer() {
var autFrame = document.getElementById('selenium_myiframe');
var autFrameDocument = new SeleniumFrame(autFrame).getDocument();
this.rootDocument = autFrameDocument;
var domViewer = window.open(getDocumentBase(document) + 'domviewer/domviewer.html');
return false;
}
</script>
然后,为了使其能够在Selenium中使用,我们添加了定位策略:
mySelenium.addLocationStrategy("jquery",
"var loc = locator; " +
"var attr = null; " +
"var isattr = false; " +
"var inx = locator.lastIndexOf('@'); " +
"if (inx != -1){ " +
" loc = locator.substring(0, inx); " +
" attr = locator.substring(inx + 1); " +
" isattr = true; " +
"} " +
"var found = jQuery(inDocument).find(loc); " +
"if (found.length >= 1) { " +
" if (isattr) { " +
" return found[0].getAttribute(attr); " +
" } else { " +
" return found[0]; " +
" } " +
"} else { " +
" return null; " +
"}"
);
请注意,上面添加的定位器策略是用Java编写的,但是它只是一个字符串,因此应在C#中轻松复制。JQuery确实使事情变得更快,尤其是在Internet
Explorer中!
要修改jar,可以使用java命令行工具更新下载的硒服务器jar。在与名为“
core”的jar相同级别的文件夹中,然后将修改后的RemoteRunner.html和jquery.min.js文件放在此处。然后运行类似:
jar -uf selenium-server-standalone-2.0b3-APT.jar core\RemoteRunner.html
jar -uf selenium-server-standalone-2.0b3-APT.jar core\jquery.min.js
如果jar不在您的路径中,则可以使用完整路径,例如,在Windows上,您可以使用以下命令执行它:
"C:\Program Files\Java\jdk1.6.0_22\bin\jar.exe" <arguments>
我目前已经在iReport中打开了一个。jasper和。jrxml文件来编辑报告。我实际上只是添加一个新字段来保存变量“email”。 我设置了字段和变量。然而,当我编译时,我得到了这些错误。
我有一个Sinatra应用程序,在Docker中运行良好: 但是当我尝试添加Redis时: Redis似乎没有启动。 那么,将Redis添加到Ruby()Docker容器中的好方法是什么呢?
我很喜欢这个从http://www.jqueryscript.net/time-clock/modern-circular-jquery-countdown-timer-plugin-final-countdown.html下载的倒计时脚本,想把它用到我的wordpress网站上,我读了一些关于如何在wordpress中放入任何脚本的教程,但是我不能完全理解,因为我是新手,你能帮我一步一步地做吗
问题内容: 我有一个运行着某些进程(uwsgi和celery)的docker容器。我想为这些进程以及它们都属于的工作组创建一个celery用户和uwsgi用户,以便分配权限。 我尝试将和添加到我的Dockerfile中,但这会引起问题,因为这些命令会提示您输入(我已在下面的构建中发布了响应)。 将用户添加到Docker容器以便为在该容器中运行的工作人员设置权限的最佳方法是什么? 我的Docker映
我有以下代码: 要添加到这里! 我想在Ext.tree.Panel中添加列“customspinner”,但我得到了未捕获的TypeError:Object[Object Object]没有方法“setSortState”。发生了什么?我终于需要这样的东西了
有这样的东西: 工作正常/图像正常上载comment.php。 下面是相同的表单,但使用了jquery Post。工作正常,但javascript看不到图像... 有什么方法可以在脚本中添加一些我的comment.php会看到的图像吗?