Angular交付的PHP nodeElement没有值
所以我通过curl检索一个页面,我有一个xpath查询,从页面中选择一个。虽然选定的节点元素没有nodeValue,但同时我可以获得其他属性,如“数据标题”和“数据角色”属性。 这是我的密码:Angular交付的PHP nodeElement没有值,php,angularjs,xpath,Php,Angularjs,Xpath,所以我通过curl检索一个页面,我有一个xpath查询,从页面中选择一个。虽然选定的节点元素没有nodeValue,但同时我可以获得其他属性,如“数据标题”和“数据角色”属性。 这是我的密码: $username = $xpath->query('//div[@id="username"]//p[1]'); echo $username -> length; //returns 1 echo $username -> item(0) -> getAttribute("da
$username = $xpath->query('//div[@id="username"]//p[1]');
echo $username -> length; //returns 1
echo $username -> item(0) -> getAttribute("data-role"); //works
echo $username -> item(0) -> nodeValue; //empty
我收到的HTML代码如下所示:
<div id = "username">
<p data-role="date" data-title="Bonjour {name}...">
Bonjour Username,
<span class="msg-expire-3">Your subscription will expire on 21/10/2015</span>
<a href="/..." class="btn btn-primary btn-xs">Renew it</a>
</p>
</div>
我在HTML代码中没有看到div[@id=“username
。而且nodeValue
仅为文本元素(节点)定义@Ahmed您误解了xpath选择器,它正在寻找一个
元素。您确认该元素没有用ajax填充吗?检查浏览器中的页面源代码尝试添加文本你好用户名,
到
元素将需要使用无头浏览器来允许ajax执行该操作,并在延迟后重试e html