Thanks! I'll try this. Still in proof of concept phase, so I won't be
creating new WebElements just yet. :) I really appreciate your help!
On Sep 3, 6:35 pm, Daniel Wagner-Hall <
dawag...@gmail.com> wrote:
> Yeah, it sounds like you're sending keys to a label...
>
> I would suggest using the for attribute of labels, something like (untested):
>
> List<WebElement> form_elements = driver.findElements(By.xpath("//label[@*]"));
> for (WebElement form_elem : form_elements){
> System.out.println("form query results: " + form_elem.getText());
> if (form_elem.getText().equals("First Name")){
> driver.findElement(By.id(form_elem.getAttribute("for"))).sendKeys("Foo");
> } else if (form_elem.getText().equals("Last Name")){
> driver.findElement(By.id(form_elem.getAttribute("for"))).sendKeys("Bar");
> }
>
> }
>
> If you're going to be doing this a lot, it may make sense to make
> yourself a new kind of WebElement, which you could construct from the
> result of driver.findElement(...), and for which sendKeys is overriden
> to do the above.
>