gpt4 book ai didi

php - Symfony 爬虫 : how to check that a link to a particular page exists

转载 作者:行者123 更新时间:2023-12-05 04:15:43 24 4
gpt4 key购买 nike

我正在编写一些功能测试,如果用户已登录,我想验证页面上是否存在“编辑”链接。

链接很简单 <a href="/profile/22/edit">Edit</a> .

我如何使用 Symfony 的 Crawler 组件过滤它?

一个解决方案是这样的:

$this->assertEquals(1, $crawler->filter('html:contains("<a href="/profile/22/edit">")')->count());

但是我想改用标签选择,那么我该怎么做呢?

最佳答案

您可以使用 Crawler::filterXPath() 来检查是否存在或什至不存在符合各种条件的 html 元素。要检查链接是否存在,我更喜欢使用元素 id,因为它最有可能保持不变。例如,如果您按如下方式修改您的链接:

<a id="edit-profile-link" href="/profile/22/edit">Edit</a>

然后你可以像这样检查链接是否存在:

$node = $crawler->filterXPath('//a[@id="edit-profile-link"]');
$this->assertTrue($node->count() == 1), "Edit profile link exists");

Here是可以与 XPath 一起使用的过滤器类型的一些很好的示例。

关于php - Symfony 爬虫 : how to check that a link to a particular page exists,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30873124/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com