Java and Selenium for web form filling?

2019-01-29 02:19发布

问题:

I wanted to fill a web form automatically. I used Selenium IDE to create a script which ENDS with a command that searches for the specified text in the webpage.

I wanted to take action based on this TEXT. If text = congratulations, then send an e-mail to some address. If not, then click ok button. I don't think the Selenium IDE can do this If-else logic and send mail on its own (Using if / else in selenium ide).

So, I thought of using Java code to "run" this Selenium HTML script, find out if the desired text was found or not - if yes then send mail; otherwise the Java code will "click" the ok button.

Does this approach make sense? Is it possible to do this using Java and some kind of Selenium Java API?

回答1:

You can't do this reliably in Selenium IDE. The real way to do this is to use Java + Selenium WebDriver, where things get pretty easy:

// acquire text
if (acquire.equals("congratulations")) {
    sendMail("Something, tada badum tss!");
} else {
    driver.findElement(By.id("myButton")).click();
}

The mail sending part can be done in thousands of ways and depends on how you want to do it. The basic point where to start is the JavaMail Webpage. If you're uncomfortable with it, you may also look at the most common wrappers for it: Apache Commons Email and Jodd.