2012-04-12 21 views
0

私はWebDriverを使用して、Firefoxで以下の方法でフォームを取得および自動入力しています。HTMLページの正しい順序で複数のタグのfindElementsByTagName。

FirefoxDriver driver = new FirefoxDriver(); 
List<WebElement> inputElements = driver.findElementsByTagName("input"); 
List<WebElement> selectElements = driver.findElementsByTagName("select"); 
List<WebElement> allElements = new ArrayList<WebElement>(inputElements); 
allElements.addAll(selectElements); 

allElementsリストを循環すると、まずすべての 'input'要素、次にすべての 'select'要素が表示されます。これらの要素をすべてページの順序で取り出す方法はありますか? findElementsByTagName()はREGEXのようになりますようお願いいたします。

driver.findElementsByTagName("(input|select)"); 

これを行うには巧妙な方法はありますか?

答えて

0

xPathsを使用して調べる必要があります。彼らはあなたに必要なすべての機能を提供する必要があります。

+0

私はxPathsを避けるために努力してきました。なぜなら、私がナビゲートしようとしているページは、必ずしもうまく形成されているわけではありません。私が間違っている?私はすぐにWebDriverを使って2,3週間しか作業していないことをすぐに認めます。 – jlarkins

+0

私は彼らが関係なく役立つことがわかります。あなたが安定したパターンを持っている限り、正常に動作します。 – ChrisG

関連する問題