Codeception:我可以看到一个link,但是不能点击它

Codeception: I can see a link, but can't click it

我正在学习 Codeception,运行 进入了我认为很奇怪的东西。

// This works
$I->see('Secure Check Out', '(//a[contains(text(),"Secure Check Out")])[2]');

// This does not
$I->click('Secure Check Out', '(//a[contains(text(),"Secure Check Out")])[2]');

无法单击 "Secure Check Out","(//a[contains(text(),"Secure Check Out")])[2]": 在页面上找不到 Link 或 Button 或 CSS 或 XPath 'Secure Check Out'。

运行 通过 Selenium WebDriver 针对 Firefox。我需要做什么才能让它发挥作用?

这里大致列出了相关的 HTML。

<div class="mobile-only">
<a href="/responsive/ajax/modals/check-out/login.php" class="secure-checkout button blue bordered small modal-open">Secure Check Out</a>
</div>

<div class="secure-checkout-button threecol last mobile-hide">
<div class="pull-right">
<a style="background-color: transparent;" href="/responsive/ajax/modals/check-out/login.php" class="button blue bordered small modal-open">Secure Check Out</a>
</div>
</div>

似乎只是因为 see 函数允许两个参数,而 clickxpath 的情况下只允许一个参数。因此,根据 this 以下应该有效

$I->click('(//a[contains(text(),"Secure Check Out")])[2]');