硒对应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定位符应该是什么。
没有找到相关结果
已邀请:
3 个回复
程琶
街茬
,它起作用了。问题在于属性名称周围使用方括号。
目浆搽
对于基于CSS选择器的DOM中的元素计数,这是一篇很棒的文章。