Selenium:根据兄弟元素文本选择元素

时间:2016-05-01 10:02:04

标签: jquery css selenium testing xpath

我一直在研究selenium脚本: http://live.guru99.com/index.php/mobile.html?dir=asc&order=position

并希望为"Add to Compare"选择元素"Sony Xperia",但不能找到它。 我曾尝试使用cssSelectorxpath,但无法弄清楚我做错了什么。

CSS选择器:

div.category-products > ul > li:nth-child(n):contains('Sony Xperia') > div > div.actions > ul > li:nth-child(2) > a

的XPath:

//h2/a[@title='Sony Xperia']/ul/li/a[text()='Add to Compare']

注意:cssSelector位于Chrome中,但未在Firefox中显示任何结果

2 个答案:

答案 0 :(得分:1)

在第二行中丢失的部分

<?php
require "init.php";
$coresite = $_POST["selectedcoresite"];
echo json_encode($coresite);

答案 1 :(得分:0)

这将是xpath,它将在任何地方工作。

xpath://h2/a[@title='Sony Xperia']/../following-sibling::div[3]/ul/li[2]/a

请参阅以下步骤以详细了解它。

步骤1:导航到元素的修复节点://h2/a[@title='Sony Xperia'](您已经完成了此操作)

第2步:添加/..

导航到其父级

第3步:导航到它的兄弟'动作'/following-sibling::div[3],因为'动作'类位于当前位置的第3个位置

步骤4:进入操作节点并到达'ul'/ul

第5步:现在第二个'li'中存在'添加到比较',因此添加/li[2]

第6步:由于“添加到比较”是一个链接,它将位于“a”内,因此请添加/a