If anyone wants it, here's the code. I actually had to compensate for multiple 
objects on the screen names the same, so it loops through, and checks to make 
sure the value exists in the select object:


public void selectElementByXPath(String xpath, String selectValue) {

boolean selected = false;

HtmlSelect s=null;

if (xpath.contains("select")) {

for (Object child : getCurrentPage().getByXPath(xpath)) {

if (child instanceof HtmlSelect)

s = (HtmlSelect)child;

for (HtmlOption opt : s.getOptions()) {

if (opt.asText().equals(selectValue)) {

s.setSelectedAttribute(opt, true);

selected = true;

break;

}

}

}

if (!selected)

{

throw new RuntimeException("selectElementByXPath - Could not find select Object 
\"" + xpath

+ "\" with option " + selectValue);

}

}

else

//throw exception since this is not a select object

{

throw new RuntimeException("Element with xpath \"" + xpath

+ "\" is not a select object");

}

}

________________________________
From: Jevon Wright [mailto:je...@jevon.org]
Sent: Monday, March 09, 2009 9:27 PM
To: Usage problems for JWebUnit
Subject: Re: [JWebUnit-users] Ielement to HtmlElement?

In the meantime, if your select elements has a unique name, you could achieve 
this functionality with something like the following:

IElement e = ...;
String name = e.getAttribute("name");
selectOptions(name, new String[] { selectValue });

Hope this helps.
Jevon

On Tue, Mar 10, 2009 at 2:24 PM, Jevon Wright 
<je...@jevon.org<mailto:je...@jevon.org>> wrote:
Hi,

No there is currently no way to convert IElement to HtmlElement, but this 
functionality would be important. I've opened up feature request 2677075 to 
implement this in the next version.
https://sourceforge.net/tracker2/?func=detail&aid=2677075&group_id=61302&atid=497985

Cheers!
Jevon


On Sat, Mar 7, 2009 at 8:47 AM, <dcr...@ups.com<mailto:dcr...@ups.com>> wrote:
Is there any way to convert IElement  to HtmlElement (Htmlunit)?

I am trying to implement a method that allows me to work in the same way as 
clickByXPath(), and getting hung up on the whole conversion to actually select 
value from the HtmlSelect object:

  public void selectElementByXPath(String xpath, String selectValue) {
       boolean selected = false;
       if (xpath.contains("select")) {
               for (IElement e : getElementsByXPath(xpath)) {
                       try {
                               HtmlSelect s = (HtmlSelect) e;
                               if (s.hasAttribute(selectValue)) {
                                       s.setSelectedAttribute(selectValue, 
true);
                                       selected = true;
                               }
                       } catch (Exception exp) {
                               //do nothing, try othe
                       }
               }
               if (!selected)
               {
                       throw new RuntimeException("selectElementByXPath - Could 
not find select Object \"" + xpath
                                       + "\" with option " + selectValue);
               }

       }
       else
               //throw exception since this is not a select object
       {
               throw new RuntimeException("Element with xpath \"" + xpath
                               + "\" is not a select object");
       }

------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
JWebUnit-users mailing list
JWebUnit-users@lists.sourceforge.net<mailto:JWebUnit-users@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/jwebunit-users



------------------------------------------------------------------------------
_______________________________________________
JWebUnit-users mailing list
JWebUnit-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jwebunit-users

Reply via email to