【问题标题】:Passing a php variable into xpath not working将php变量传递到xpath不起作用
【发布时间】:2017-10-18 23:56:04
【问题描述】:

我在下面的行中尝试将变量传递到 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);

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

【问题讨论】:

  • $index 有什么价值吗?如果是,将 $index 替换为直接值并调试它...
  • 是的,我可以在控制台上打印它。我用我所拥有的内容编辑了这个问题。

标签: php html xpath php-5.6 domxpath


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-21
    • 1970-01-01
    相关资源
    最近更新 更多