2016-09-07 3 views
1

セレンのhrefリンクをクリックしようとしています。私はxpathとBy.linkText()By.cssSelectort()を使ってみましたが、要素を見つけることができませんでした。すべてのヘルプは非常にSerenium Javaでhrefリンクを開く

driver.findElement(By.linkText("CCC_PH3_Sandbox_Keybridge: CCC PH3 Sandbox Keybridge")).click(); 

By.xpath()を高く評価しますが、その

WebElement course = driver.findElementByXPath("html/body/table/tbody/tr/td/div/div[2]/table/tbody/tr/td[3]/a/span[1]"); 
course.click(); 

要素を見つけることができないCSSのロケータれる:

driver.findElement(By.cssSelector("a[href*='/webapps/portal']")).click(); 

ここでは、HTMLスニペットです

<img width="12" height="12" src="/images/ci/icons/bookopen_li.gif" alt=""> <a target="_top" href=" /webapps/portal/frameset.jsp?tab_tab_group_id=_2_1&url=%2Fwebapps%2Fblackboard%2Fexecute%2Flauncher%3Ftype%3DCourse%26id%3D_2135_1%26url%3D">CCC_PH3_Sandbox_Keybridge: CCC PH3 Sandbox Keybridge</a> 
+0

どの例外が表示されていますか?リンクがフレーム内にあるかどうかを確認するだけです。 –

+0

要素が表示されているかどうかを確認してください –

+0

どのようなエラーが発生していますか、またはルートとしてフレームがありますか? – noor

答えて

0

は、以下のようにBy.partialLinkText()を使用してみてください: -

new WebDriverWait(driver, 10).until(ExpectedConditions.elementToBeClickable(By.partialLinkText("CCC_PH3_Sandbox_Keybridge"))).click(); 

編集: - あなたは、この要素にid navFramecontentFrameを持つ2つのiframe内で述べたように、あなたはそれを見つける前に一つずつのiframe切り替える必要があります要素として: -

driver.switchTo().frame("navFrame"); 
driver.switchTo().frame("contentFrame"); 

//Now find desire element 
new WebDriverWait(driver, 10).until(ExpectedConditions.elementToBeClickable(By.partialLinkText("CCC_PH3_Sandbox_Keybridge"))).click(); 

//After doing all stuff inside iframe switch back to default content 
driver.switchTo().defaultContent(); 
+0

要素リンクを参照しても要素がクリック可能になるのを待っていますそのクリック可能なもの – colin

+1

フレームまたはiframeを探しましたか?この要素がフレーム内またはiframe内にある可能性があります。このリンクを見つける前にそのフレームを切り替える必要がある場合は –

+1

これはiframeにあるように見えます。