2016-09-08 14 views
0

私は自動化を行っていますが、findElement()を使用してハイパーリンクをクリックすることはできません。コードのその部分を共有する。誰も助けることができますか?セレンの自動化を照会

<div class="nametag" data-request-type="immigration"> 

    </div> 
    <div class="name"> 

    </div> 
    <div class="info"> 
     Click <a href="" ng-click="openNewRequest(currentUserInfo.personId, 2)"> 
      here</a> to submit new visa request. 
+0

オートメーションコードのセクションを共有することはできますか?提供されているものを使って、あなたがそのリンクをクリックするために何を使うことができるかについての示唆を与えることができますが、あなたが現在使っているものがうまくいかない理由を特定することはできません。 。 – Jsmith2800

+0

@Anita Pandey: 'linkText'や' partialLinkText'を使ってみましたか? – stupidnetizen

答えて

0

CSSセレクタを使用してみてください。ここに完全なコードがあります。

By linkLocator = By.cssSelector("[data-request-type="immigration"] .info a"); 
driver.findElement(linkLocator).click(); 
+0

あなたは全体の機能を与えることができますか?どのように進行するかのように –

+0

あなたと関数を共有する: \t \t最終WebElement visa = driver.findElement(By.id( "pageContainer")); \t \t //最終的なWebElement img = visa.findElement(By.className( "ng-scope")); \t \t \t最終WebElementタブ= visa.findElement(By.cssSelector( "section [id =^self]")); –

+0

@AnitaPandeyさんが答えを更新しました。しばらくお待ちください。 –

0

要素コードを考慮して、リンクテキストを使用してハイパーリンクをクリックすることができます。以下の汎用機能を使用してクリックします。コードの後に​​は、C#である:あなたがこれを行うことができます

click(By.LinkText("here")); 


    public void click(By by) //method starts from here 
    { 
    try 
    { 
     WebDriverwait wait; 
    wait=new WebDriverWait(driver,20); 
     wait.until(ExpectedConditions.elementToBeClickable(by)).click(); 

    } 
    catch(WebDriverException er) 
    { 

    } 

    } 
+0

私はそれのJava版が必要です。ありがとう –

+0

大きな違いはありません。 (By.linkText( "こちら")をクリックしてください。によることで 公共ボイドクリック(){ が { が待っWebDriverWaitを試してみてください。 待機=新しいWebDriverWait(D、20); wait.until(ExpectedConditions.elementToBeClickable( 。))による)(クリックしてください。 } キャッチ(WebDriverException小胞体) { \t } }あなたが新しいウィンドウに切り替えるのに役立ち..can @rajkumar – Rajkumar

+0

おかげで私は新しいハイパーリンクを開くと、それが開く必要がありますか?同じブラウザの新しいウィンドウで –

0

WebElement e = driver.findElement(By.cssSelector(".info a")); 
    String href = e.getAttribute("href"); 
    driver.get(href); or driver.navigate().to(href); 
+0

新しいウィンドウに切り替える手助けはできますか? –

+0

driver.switchTo()。ウィンドウ(ハンドル)。 getWindowHandle()を実行すると、現在のハンドルを取得し、driver.getWindowHandles()からすべてのハンドルを取得できます。 –

+0

@ heziIsraeliが 'href'の値を使ってナビゲートするのは、共有htmlで' href'属性が空であるため動作しないかもしれません。 – stupidnetizen

関連する問題