硒对应xpath的CSS定位器

|| 我正在测试的网页html的某些部分如下所示
<div id=\"twoWideCallouts\">

<div class=\"callout\">
    <a target=\"_blank\" href=\"http://facebook.com\">Facebook</a>
</div>

<div class=\"callout last\">
    <a target=\"_blank\" href=\"http://youtube.com\">Youtube</a>
</div>
我必须使用硒检查,当我单击文本时,打开的URL与href而不是错误页面中给出的URL相同。 使用Xpath,我编写了以下命令
//i is iterator
selenium.getAttribute(\"//div[contains(@class, \'callout\')][\"+i+\"]/a/@href\")
但是,这非常慢,并且对于某些链接不起作用。通过阅读本网站上的许多答案和评论,我知道CSS游标的维护速度更快,更清洁,因此我再次将其写为
css = div:contains(callout)
首先,我无法到达锚标签。 其次,此页面可以具有任意数量的div,其中id =标注。使用xpathcount我可以得到这个计数,我将对该计数进行迭代并执行href检查。如何使用CSS locator完成类似的操作? 任何帮助,将不胜感激。 编辑 我可以使用定位器
css=div.callout a
单击链接,但是当我尝试使用
String str = \"css=div.callout a[href]\";
            selenium.getAttribute(str);
读取href值时。我收到错误-找不到元素。控制台说明如下。
19:12:33.968 INFO - Command request: getAttribute[css=div.callout a[href], ] on session 
19:12:33.993 INFO - Got result: ERROR: Element css=div.callout a[href not found on session 
我试图使用xpath这样获取href属性
\"xpath=(//div[contains(@class, \'callout\')])[\"+1+\"]/a/@href\" and it worked fine.
请告诉我,与此对应的CSS定位符应该是什么。     
已邀请:
它应该是 - CSS = div:包含(标注) 您是否注意到使用的是\“:\”而不是\“。\”? 对于CSSCount,这可能会有所帮助- http://www.eviltester.com/index.php/2010/03/13/a-simple-getcsscount-helper-method-for-use-with-selenium-rc/ # 另一方面,您是否看到在51区建立新的硒站点的提议-http://area51.stackexchange.com/proposals/4693/selenium。 #     
为了阅读这个小提琴,我使用了
css=div.callout a@href
,它起作用了。问题在于属性名称周围使用方括号。     
对于问题的第一部分,将您的标识符锚定在超链接上:
css=a[href=http://youtube.com]
对于基于CSS选择器的DOM中的元素计数,这是一篇很棒的文章。     

要回复问题请先登录注册