XPath适用于Chrome Inspect但不适用于PHP

时间:2017-08-09 02:07:30

标签: php google-chrome xpath web-scraping screen-scraping

我正在尝试在XPath中使用OR运算符,它适用于Chrome Inspect。但它使它无法在PHP上运行。没有OR运算符的初始XPath在PHP中运行得很好。

这是最初的XPath:

public static void startApp(String appName)
{
   // MAKE SURE TO GET THE CONTEXT
   Context context = MainActivity.getAppContext();

   Intent b = context.getPackageManager().getLaunchIntentForPackage(appName);
    context.startActivity(b);
}

这是修改后的XPath

//h4[text()="Description"]/following-sibling::*[not(@class)][not(@style)]

抱歉,由于工作披露,我无法提及该链接。

在修改后的XPath之后,我从PHP脚本中得到了这个错误:

//h4[text()="Description"]/following-sibling::*[not(@class)|@class="MsoNormal"][not(@style)]

1 个答案:

答案 0 :(得分:0)

我打算发表评论,但声誉太低了。

而不是使用“|”作为你的OR运算符,也许使用“或”这个词。可能是您的PHP脚本可能无法解析“|”字符。

所以:

//h4[text()="Description"]/following-sibling::*[not(@class) or @class="MsoNormal"][not(@style)]

如果我们能够看到导致您出现问题的代码,那将非常有用。