簡體   English   中英

硒:點擊“ <div><a></a></div> ”按鈕

[英]Selenium: Click on a “<div><a></a></div>” button

我試圖單擊一個按鈕。 它具有以下結構:

HTML代碼

<div class="button-wrapper" id="button-verify-wrapper">
       <a x-ng-click="verifySfdcConnection()" class="clearfix float-left button-green">
            <div class="icon-green icon-green-verify"></div>
            <div class="button-label ng-binding">Verify Connection</div>
        </a>
         <div x-ng-class="{'connection-verified':wizardData.inputSource.sfdc.connectionStatus}" x-ng-show="wizardData.inputSource.sfdc.connectionStatus" style="" class="connection-verified"></div>
      </div>

有什么幫助嗎? 我嘗試了這個:

driver.findElement(By.xpath(".//*[@id='button-verify-wrapper']/a/div[1]")).click();

但這沒有幫助。 謝謝

您應該使用css選擇器單擊鏈接,例如:
a[x-ng-click*='verifySfdcConnection']

我認為<a>元素可在此處單擊。 您應該嘗試定位<a>元素,然后執行click()操作,如下所示:-

  • 使用By.cssSelector() :-

     driver.findElement(By.cssSelector("div#button-verify-wrapper > a")).click(); 
  • 使用By.linkText() :-

     driver.findElement(By.linkText("Verify Connection")).click(); 
  • 使用By.xpath() :-

     driver.findElement(By.xpath(".//a[normalize-space(.) = 'Verify Connection']")).click(); 

如果仍然無法執行點擊,請嘗試使用JavascriptExecutor作為替代解決方案,如下所示:-

((JavascriptExecutor)driver).executeScript("arguments[0].cli‌​ck()", driver.findElement(By.cssSelector("div#button-verify-wrapper > a")));

driver.findElement(By.id( “按鈕驗證-包裝”))點擊();

注意:1.如果直接給定ID或類名,而無需使用xpath,則可以直接使用By.id和By.class。2.要對Web元素執行操作,我們應該知道該元素ex的屬性。 如果不是按鈕,則無法執行單擊

試試這個: $("#button-verify-wrapper > a").click()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM