css - selenium firefox css 选择器崩溃

标签 css firefox selenium crash

我使用 ubuntu 12 和 selenium 和 firefox 7(第一个是 21,我检查了 selenium 支持列表,它不支持 firefox 21,所以我卸载 21 并安装 7。我还安装了 selenium ide 和 selenium webdriver。

这是我的目标

<a href="javascript:void(0);" class="vd_dload" data-info="....">

<a href="javascript:void(0);" class="vd_dload" data-info="....">

<a href="javascript:void(0);" class="vd_dload" data-info="....">

所以我使用 eq(0) eq(1) 来选择元素。我在 selenium ide 中测试它,它有效。我选择它喜欢

 command  clickandwait css=a.vd_dload:eq(2)

并保存为python测试代码

driver.find_element_by_css_selector("a.vd_dload:eq(1)").click()

python 代码在这里兑现。它报告:

InvalidSelectorException:Message: u'The give selecor a.vd_dload:eq(2) is either invalid or does not result in a webElement. the following error occurred:\n[Exception.."An invalid or illegal string was specified" code:"12" nsresult:"0x8053000c (NS_ERROR_DOM_SYNTAX_ERR)" location......

有人给点建议吗?

最佳答案

eq 是一个 jQuery 选择器,因此不是 CSS 标准的一部分。因此,一旦您使用 Selenium 运行它并告诉它“这是我的 CSS 选择器”,它就会成为一个非常不愉快的工具。

虽然不是直接等效(如 eq != nth-child),但在您的实例中,CSS 选择器 nth-child 会正常工作:

a.vd_dload:nth-child(1)
a.vd_dload:nth-child(2)
a.vd_dload:nth-child(3)

请注意,nth-child CSS 选择器是 CSS3 选择器规范的一部分,因此可能会导致 IE 出现问题。它仅在 IE9 及更高版本以及任何现代版本的 FF/Chrome 等中受支持。

关于css - selenium firefox css 选择器崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16932653/

相关文章:

jquery - HTML 元素的定位和滑动

css - 在 CSS 中将网页布局拉伸(stretch)到屏幕边缘的更好方法?

javascript - Chai 断言似乎不适用于我的 JS 和 Webdriverio 框架/方法?

html - 仅第一个直接子级的 css

css - 在 Firefox 和 IE 上工作的图像模糊效果

css - 如何跨浏览器垂直对齐文本

macos - 上传表单在 Mac OS X 的 Firefox 3 中不起作用?

selenium - 错误 Protractor 和 Selenium : StaleElementReferenceError: stale element reference: element is not attached to the page document

java - 使用selenium提取<br>标签前后的数据

html - 如何在IE中提供水平和垂直滚动条