2016-08-29 15 views
0

リンクをクリックしようとしています。しかし、それは要素が見つかりませんでしたメッセージを表示しています。ここに私のHTMLコードは次のとおりです。
<a id="expTo" class="formblue_link padRight10 exportLinkActive" style="display: block; margin-left: -50px; margin-bottom: -20px;" href="javascript:;"> Export To</a>Selenium webdriverのリンクをクリックできません

私のコードは次のとおりです。

 `driver.findElement(By.linkText("Export To")).click();` 

答えて

2

クリック可能な以下のように目に見える要素まで待機するWebDriverWaitを使用して試してみてください。 -

new WebDriverWait(driver, 10).until(ExpectedConditions.elementToBeClickable(By.id("expTo"))).click(); 

注:注:この要素を見つける前に、それがframe/iframeの内側にないことを確認してください。私は、セレクタの上にしようとした

driver.switchTo().frame("frame/iframe name or id"); 
+1

ありがとうSaurab。それは私のために働いた。 – kurri

3

ボタンや項目のテキストで要素を検索しようとしないためにrecomandedです。これは、簡単にページがある間でidではなく、テキストによって私はをクリックし使用することをお勧め

driver.findElement(By.id("expTo")).click(); 

を開発変更することができ、たとえば、CSSでクリックする代替もあります:

すべて
driver.findElement(By.cssSelector(".css-class-name")); 

他のセレクタを見つけることができますhere

+0

- :それはどのframe/iframe内に存在する場合は、としてそれを見つける前にframe/iframeことを切り替える必要があります。しかし、私のために働いていない。他のオプションを指定してください。 – kurri

+0

このようにして要素を見つける方法は正しいはずです。しかし、@Saurabg Gaurが彼の答えで述べたように、iframeで問題があるか、まだ目に見えない要素をクリックしようとします。私は両方のオプションミリオンタイムで戦うことを覚えています:) – Andurit

関連する問題