【发布时间】:2016-03-26 03:07:34
【问题描述】:
我正在尝试使用带有 Firefox 的 Selenium 驱动程序在上下文中使用 xpath 定位器进行 Codeception 测试。具体来说,我正在尝试单击电子邮件消息正文中的第二个链接,使用圆形立方体查看。
邮件正文在 div 中,xpath //div[@class="rcmBody"]
我可以得到这个路径的链接:(//div[@class="rcmBody"]//a)[2]
但由于某种原因,当我在 body div 的上下文中尝试 //a[2] 时,它会返回 iframe 中的所有 a 元素。
codeception 的一个例子:(选择正确的 iframe 后)
$I->click('//a[2]', '//div[@class="rcmBody"]')
这会导致 Web 驱动程序单击 iframe 中的第二个链接,该链接位于 body div 开始之前。
我也可以直接在 chrome 中进行测试:
$x('//a', $x('//div[@class="rcmBody"]')[0])
这会返回 iframe 中的所有 a 元素的列表,而不是上下文中的。
我怎样才能让上下文部分起作用?
【问题讨论】:
标签: html xpath codeception