Selenium:如何点击HTML按钮元素?

时间:2010-05-12 20:37:13

标签: php selenium phpunit selenium-rc

我在页面上有一个按钮,用作另一个页面的链接。因此,当用户单击该按钮时,它们将被重定向到右侧页面。

我正在使用PHPUnit的Selenium扩展,我想测试该按钮是否正确地重定向用户。这是我要测试的HTML:

<button onclick="window.location='/sponsor';" value="Continue" type="button" id="sponsorContinue" name="sponsorContinue">Continue</button>

我尝试了很多不同的方法来点击按钮,但我似乎无法让它们中的任何一个工作:

$this->click("//button[@id='sponsorContinue']");

此命令执行并不会抛出任何错误,但不会重定向页面。我手动点击按钮时工作正常。我该怎么办?

1 个答案:

答案 0 :(得分:2)

这就是问题...... 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