我在页面上有一个按钮,用作到另一个页面的链接。因此,当用户单击该按钮时,他们将被重定向到正确的页面。
我正在为 PHPUnit 使用 Selenium 扩展,我想测试该按钮是否正确地重定向了用户。这是我要测试的 HTML:
<button onclick="window.location='/sponsor';" value="Continue" type="button" id="sponsorContinue" name="sponsorContinue">Continue</button>
我已经尝试了很多不同的方法来点击按钮,但我似乎无法让任何一种方法起作用:
$this->click("//button[@id='sponsorContinue']");
此命令执行后不会抛出任何错误,但不会重定向页面。当我手动单击按钮时它工作正常。我该怎么办?
最佳答案
这就是问题所在……HTML 是错误的,它强制用户使用 javascript 继续到下一页。请改用此 HTML。它更干净,不依赖于 javascript。
<form method="get" action="/sponsor">
<button type="submit" id="sponsorContinue">Continue</button>
</form>
此外,这现在可以工作了:
$this->click('sponsorContinue');
但是,如果您想让 window.location
正常工作,see this question .
关于php - Selenium:如何单击 HTML 按钮元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2822580/