2016-10-14 6 views
0

私はウェブページxyz.comを持っています。私が初めてウェブページにサインインすると、クローズボタンを持つページが表示されます。ユーザーがページ上の閉じるボタンをクリックすると、ページは消え、次回にログインすると、この最初のページは表示されません。セレン処理Webアプリケーションのワンタイムページをクリック

私のセレンのjavaコードでは、ユーザーが初めてログインするときにxpath locatorを使用して、閉じるボタンを識別してクリックしました。

ここで私のコードでどの条件を入力する必要がありますか?&このページの閉じるボタンをクリックすると、ページが表示されます。そうでなければ、ステップをスキップしてWebページの手順に進みます。 。

+0

2回目のエラーはありますか – khakishoiab

+0

明示的な待機条件を使用して特定の要素が表示されるまで待つことができます。目的のページ/要素が表示されたら、それを閉じて次の手順に進みます。 –

+0

ボタンには固有の名前/ IDがありますか?その場合は、ページソースを確認し、要素が存在するかどうかを確認してください。次のようにすることができます:string PageSource = Driver.PageSource; – Anand

答えて

0

要素がページに表示されているかどうかを確認する方法はいくつかあります。

1.

try { 
    webDriver.findElement(Locator locator).click(); 
catch (NoSuchElementException e) { 
    // move on 
} 

2.

WebDriverWait wait = new WebDriverWait(webDriver, timeoutInSeconds); 
try { 
    WebElement element = wait.until(ExpectedConditions.visibilityOfElementLocated(Locator locator); 
    element.click(); 
catch (TimeoutException e) { 
    // move on 
} 

3.

List<WebElement> elements = webDriver.findElements(Locator locator); 
if (!elements.isEmpty()) { 
    elements.get(0).click(); 
} else { 
    // move on 
    // maybe you don't need this else block 
} 

あなたは、最初の2つの可能な実装を見ることができるようにチェックされない例外をスローします。これらの例外を使用したくない場合は、3番目の例外を使用します。私はそれが要素が存在し、それが大丈夫であることを知っているかどうかをチェックしたいときに、通常の振る舞いに対して3番目の実装を使用するのがよい習慣だと思います。

関連する問題