在Selenium-RC(版本2.0b3)中使用XPath定位器时,有没有办法设置XPath上下文?
我问,因为我将页面建模为对象,并且具有出现在多个页面上的复合元素(“小部件”),所以我希望能够在其父窗口小部件的上下文中引用子元素。
类似的东西:
class SomeWidget extends Widget {
public $widget_locator;
public $element_locator = '//a[text()="something"]';
public function doSomething() {
$context = $this->widget_locator;
$selenium->click($element_locator, $context); //<-- can I do something like this?
}
}
显然,这是一个人为的例子,但想法是子元素的xpath可能不是页面范围的唯一,但对于该窗口小部件的上下文来说肯定是唯一的。
答案 0 :(得分:0)
如果$ context是一个xpath表达式,你不能只做$ context + $ element_locator
答案 1 :(得分:0)
如果您正在讨论PHPUnit Selenium扩展的用法,那么您只能使用Selenium 1旧API。此API仍在Selenium2 / Webdriver中工作,只是为了向后兼容。
因此,由于您被迫使用旧的API(Selenium 1),答案是否定的。您无法设置元素的上下文以简化XPATH定位器。