在Symfony testing documentation中,它显示了如何选择包含特定文字的链接:
$crawler->selectLink('Click here');
但我寻找的链接不会总是有相同的文字。根据记录的状态,它会说一些不同的东西,所以相反,我需要通过URL找到它。我想我可以弄清楚如何使用xpath过滤器来做到这一点。这是我应该去做的,还是有更好的方法?
答案 0 :(得分:1)
您将针对已知状态进行测试 - 因此该状态将通知该按钮上的文本。
如果不是 - 您还可以通过CSS ID或足够的其他信息进行搜索,以唯一地标识按钮,例如ID指定范围内的按钮的类名,CSS路径或XPath。 / p>
Full CSS Path to the `<code>` block in your question
#question > table > tbody > tr:nth-child(1) > td.postcell > div > div.post-text > pre > code
Xpath
//*[@id="question"]/table/tbody/tr[1]/td[2]/div/div[1]/pre/code
一个特定的ID,或者要查找的文本会更容易,而且更不容易破解!