Selenium: How to click an HTML button element?
I have button on the page that being used as a link to another page. So when t开发者_如何学Pythonhe user clicks the button they are redirected to the right page.
I am using the Selenium extension for PHPUnit and I would like to test that the button is correctly redirecting the user. Here is the HTML that I am trying to test:
<button onclick="window.location='/sponsor';" value="Continue" type="button" id="sponsorContinue" name="sponsorContinue">Continue</button>
I have tried a lot of different approaches to click the button, but I can't seem to get any of them to work:
$this->click("//button[@id='sponsorContinue']");
This command executes and does not throw any errors, but the page isn't redirected. It works fine when I manually click the button. What should I do?
Here's the problem...the HTML is wrong, and it's forcing users to use javascript to continue to the next page. Use this HTML instead. It's cleaner and doesn't rely on javascript.
<form method="get" action="/sponsor">
<button type="submit" id="sponsorContinue">Continue</button>
</form>
Also, this will now work:
$this->click('sponsorContinue');
However, if you're trying to get window.location
to work, see this question.
精彩评论