逗人,
我遇到以下xpath的问题,如果$ pos大于1,则不返回任何元素。
请注意,有超过1个div [@ class =“panel-heading”] form [contains(@ action,“/ myaction?”)]
$this->webdriver->findElement(WebDriverBy::xpath('//form[contains(@action, "/myaction?")]//div[@class="panel-heading"][' . $pos . ']//a[contains(@onclick, "do_something")]'))->click();
知道我的xpath有什么问题吗?
提前致谢, 梅西
答案 0 :(得分:0)
检查您是否只有一个指向该操作的链接,仅搜索中//a[contains(@onclick, "do_something")]
并查看您是否识别出do_something
制作的唯一链接。
避免使用[number]
,因为如果任何住所div消失,它可能会破坏。
如果$pos
大于1时遇到问题,则表示获得此条件的div
与其他任何div
的级别不同。
答案 1 :(得分:0)
如果您使用()
中的索引,则应尝试使用xpath
,如下所示: -
$this->webdriver->findElement(WebDriverBy::xpath('(//form[contains(@action, "/myaction?")]//div[@class="panel-heading"])[' . $pos . ']//a[contains(@onclick, "do_something")]'))->click();