duanchendu69495 2017-05-18 17:35
浏览 48
已采纳

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

I have this below line where I am trying to pass a variable into xpath in PHP.

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

I am calling the above method like,

this->getTheIndexVal(3);

But the above is throwing an error. Its having $index as it is without substituting the value. This value is being passed as a method argument. I tried the below alternatives. Still no luck.

$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);

How can I achieve this? Any help would be much appreciated.

  • 写回答

1条回答 默认 最新

  • duan1396 2017-05-18 22:24
    关注

    Use double-quotes for the variable $index to be correctly substituted with the corresponding value :

    public function getTheIndexVal($index)
    {
        $this->click(".//*[@id='js_itemlist']/li[3]/article/div[$index]/section[1]/ul/li[3]");
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?