AnOldSoul
AnOldSoul

Reputation: 4207

Passing a php variable into xpath not working

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.

Upvotes: 0

Views: 69

Answers (1)

har07
har07

Reputation: 89285

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]");
}

Upvotes: 1

Related Questions