将php变量传递给xpath不起作用

时间:2017-05-19 01:35:32

标签: php html xpath php-5.6 domxpath

我在下面这行,我试图在PHP中将变量传递给xpath。

public function getTheIndexVal($index)
{
    $this->click('.//*[@id="js_itemlist"]/li[3]/article/div[$index]/section[1]/ul/li[3]');
}

我将上述方法称为

this->getTheIndexVal(3);

但是上面的错误。它具有$ index而不替换该值。该值作为方法参数传递。我尝试了以下替代方案。仍然没有运气。

$this->waitForElement('.//*[@id="js_itemlist"]/li['.$index.']/article/div[3]/div/div[1]', 30);

 $this->waitForElement('.//*[@id="js_itemlist"]/li['{$index}']/article/div[3]/div/div[1]', 30);

我怎样才能做到这一点?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

使用双引号将变量$index正确替换为相应的值:

public function getTheIndexVal($index)
{
    $this->click(".//*[@id='js_itemlist']/li[3]/article/div[$index]/section[1]/ul/li[3]");
}