2012-03-09 10 views
2

WebDriver APIを使用してWebページをテストしていて、click()メソッドが特定のWebページで機能していません。Webdriverのclick()メソッドがWebサイトで動作しない

ウェブ要素(私の場合はリンク)をクリックしたりクリックしたりしていません。 xpath、id、linkを使用して要素を見つけようとしましたが、クリックが機能しませんでした。

しかし、同じリンクでcontextClick(つまり右クリック)操作を試したところ、うまくいきました。また、Web要素のテキストまたはtagNameを印刷すると、出力画面にtextまたはtagNameが完全に表示されます。

マイコード:

WebDriver browser=new InternetExplorerDriver(); 
browser.get("some website"); 
WebElement linkkk=browser.findElement(By.xpath("//*[@id='topsort']/li[2]/a")); 
linkkk.click(); 

ウェブページのコード:私も使用

<div class="content"> 
    <div class="blind" style="display: none;"></div> 
    <ul id="topsort"> 
     <li>something</li> 
     <li><a class="category_nav_remote_link selected" href="some website">some text</a></li> 
    </ul> 
    </div> 
</div> 

Actions action=new Actions(browser);<br/> 
action.click(linkkk); 
action.perform(); 

しかし、無駄に。オプション以下

答えて

7

試してみてください。

WebElement linkkk=browser.findElement(By.xpath("//*[@id='topsort']/li[2]/a")); 
linkkk.click(); 
//click once again 
linkkk.click(); 

OR - 以下のようにENTERキーを送信することで、試してみてください。

linkkk.sendKeys(Keys.ENTER); 

OR - まずそのリンク&へ移動クリックまたは

ENTERキーを送ります
Actions moveTo = new Actions(driver); 
moveTo.moveToElement(linkkk).click().perform(); 
+0

私はまだこれに対する回答を探しています。 SafariのActionクラスは使用できません。 – Khushboo

1

IJavaScriptExecutorを使用してボタンをクリックしてみてください。それは私のアプリで非常に成功しています。

((IJavaScriptExecutor)_webDriver).ExecuteScript("$(arguments[0].click()",webElement); 
関連する問題