2017-07-21 8 views
1

SeleniumとPage Object Modelを使用するJavaプロジェクトがあり、文字列 "Cancel"で終わるIDのボタンを見つける必要があります。私は正規表現を使ってみましたが、XPathを含むstackoverflowのいくつかのソリューションが見つかりましたが、Webサイトのデザインが頻繁に変更されていることを考慮して、私はXPathを使用しません。 私はまた、あなたがCSSセレクタで終わる-使用できるソリューションとして発見:Selenium JavaとPageObjectModelで、文字列を含むidで要素を検索します。

By.cssSelector("[id$=default-create-firstname]")が、私はそのためのセレクタでは省略して、ページオブジェクトモデルを利用し、注釈@FindByを使用したいと思います。

@FindBy(id = "ButtonToCancel") 
private WebElement buttonToCancel; 

どのように私は*各idは@FindByを見つけるハードコーディングせずに、キャンセルで終了ページ内のすべてのIDを選択することができますか?私が知っていることから、正規表現パターンは、次のような動作しません:@FindBy(ID =「*キャンセル」)

+0

あなたの質問は何ですか? – NarendraR

答えて

0

これを試してみてください:

@FindBy(css = "*[id$='cancel']" 
private List<WebElement> cancelButtons; 

それはidを持つWebElementsのリストを返しますがキャンセル」で終了しましたidフィールドに「」と入力します。

関連する問題