使用jquery和selenium IDE 1.0.8获取元素
我正在尝试使用 jquery 和 Selenium IDe 1.0.8 获取元素。
<td>storeValue</td>
<td>$('#result').find('img').filter('[alt="NameOfPhoto"]').eq(0)</td>
<td></td>
在日志中,我得到
[error] Element $('#result').find('img').filter('[alt="NameOfPhoto"]').eq(0) not found
当我将此命令放入 firebug 中时,我得到此元素:/
为什么它不起作用?
编辑: 或者,例如,您可以给我代码如何在 stackoverflow 主页上获取带有 JAVA 标签的第一个对象的 id。
TAG:
<a rel="tag" title="show questions tagged 'java'" class="post-tag" href="/questions/tagged/java">java</a>
的示例结果
<div id="question-summary-4303985" class="question-summary narrow">
是:
question-summary-4303985
I'm trying to get element with jquery and Selenium IDe 1.0.8.
<td>storeValue</td>
<td>$('#result').find('img').filter('[alt="NameOfPhoto"]').eq(0)</td>
<td></td>
And in log I get
[error] Element $('#result').find('img').filter('[alt="NameOfPhoto"]').eq(0) not found
When I put this command in firebug I get this element :/
Why it doesn't work ?
EDIT:
Alternatively for example you can give me code how to get id of first object whith JAVA tag at main page of stackoverflow.
TAG:
<a rel="tag" title="show questions tagged 'java'" class="post-tag" href="/questions/tagged/java">java</a>
and the example result from :
<div id="question-summary-4303985" class="question-summary narrow">
is:
question-summary-4303985
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
根据其他帖子,我尝试了以下方法并且成功了。
将以下代码添加到 user-extensions.js:
然后,您可以使用关键字 jQuery 而不是 $ 来访问任何 jQuery 函数。只需确保您正在测试的页面引用了 jQuery js 文件。
Based on the other posts I tried the following and it worked.
Add the code below to user-extensions.js:
You can then access any jQuery function by using the keyword jQuery instead of the $. Just make sure that the page you are testing is referencing the jQuery js file.
要在 Selenium IDE 中使用 jQuery,其位置如下。 (确保已在页面中加载 jQuery)
您可以将函数位置存储在 Selenium 变量中。
然后您可以在测试中使用它们,例如:
上面使用 jQuery 匹配
。
编辑:或者,您可以通过以下方式访问它:
替代来源: http://cssgreut.wordpress.com/2010/12/20/run-selenium-ide-tests-with-jquery-selectors/
To use jQuery with Selenium IDE, it's location is below. (Be sure to have loaded jQuery in your page)
You can store the function location in a Selenium variable.
Then you can use them in your Tests like:
Above matches
<div foo='bar' />
using jQuery.Edit: Alternatively you could access it by:
source of alternate: http://cssgreut.wordpress.com/2010/12/20/run-selenium-ide-tests-with-jquery-selectors/
尝试使用
jQuery
而不是$()
。美元符号在 selenium 中具有不同的含义。编辑
据我所知,您不能使用 jQuery 来选择元素。谷歌搜索一无所获。只需使用 Xpath 即可。
try using
jQuery
instead of$()
. The dollar sign has a different meaning in selenium.EDIT
As far as I can tell you can't use jQuery to select elements. Google searches turned up nothing. Just use Xpath.
您是否将 jQuery 捆绑到 Selenium jar 中?如果不是,则无法使用该语法。
Have you bundled jQuery in Selenium jar? If not, you can't use that syntax.
使用 JavaScript 存储当前日期并使用
${}
将其回显到 Selenium 日志控制台的示例:如您所见,将存储与 JavaScript 表达式的结果一起使用,添加
javascript{}
围绕表达式。您的示例使用
javascript{storedVars['bar']}
输出存储的变量。Selenium 中的 JavaScript:
使用
javascript{alert('hello')}
,您可以在值字段中运行 JavaScript/jQuery。Selenium 还有一个扩展来显示存储了哪些变量: http://reallysimplethings.wordpress.com/2010/09/28/the-stored-variables-viewer-plugin-for-selenium-ide-v1-3-已发布/
Example of storing the current date with JavaScript and echo it into the Selenium log console by using
${}
:As you can see to use store with an result of an JavaScript expression add
javascript{}
arround the expression.Your example using
javascript{storedVars['bar']}
to output the stored variable.JavaScript in Selenium:
With
javascript{alert('hello')}
you can run JavaScript/jQuery in the value fields.There is also an extension for Selenium to show which vars are stored: http://reallysimplethings.wordpress.com/2010/09/28/the-stored-variables-viewer-plugin-for-selenium-ide-v1-3-released/
尝试一下德国拉姆的博客中的说明
您的选择器将如下所示:
#result img[alt="NameOfPhoto "]:eq(0)
JQuery 选择器主要来自 CSS 选择器,因此您也可以在 selenium 中使用它们
css=cssSelector
Try this instructions from German Rumm's blog
Your selector will looklike:
#result img[alt="NameOfPhoto"]:eq(0)
JQuery selectors mostly comes from CSS selectors, so you can use them also in selenium
css=cssSelector