java
  • selenium
  • 2016-02-25 104 views 0 likes 
    0

    我在一列中有多個鏈接,只有一個是隨機啓用的,其他鏈接是禁用的,我需要檢查哪個鏈接已啓用,然後單擊它。如何檢查鏈接是否可以在列中點擊

    我使用正則表達式來找到鏈接,但我怎麼可以把循環然後選中請幫助

    下面是代碼

    int i = 0; 
    do {       
        xpath =".//*[@id='ctl00_ctl00_MainContent_ChildContent1_dgDataList_ctl0"+i+"_btnEdit']"; 
        a1 = driver.findElement(By.xpath(xpath)).isEnabled(); 
        System.out.println(a1+"" + i); 
        i = i+1; 
    } while (a1 = true); 
    
    
    driver.findElement(By.xpath(xpath)).Click(); 
    
    +0

    你能分享一些HTML代碼,請?正則表達式在哪裏? –

    +0

    如果你看到xpath,我在值改變的地方加了「i」。 –

    回答

    0

    您沒有提供足夠的信息來給出一個明確的回答。所以下面是我最好的猜測。

    您可以使用欺騙方法ExpectedConditions.elementToBeClickable(),像:

    // assume driver is already initialized to some WebDriver 
    WebDriverWait wait = new WebDriverWait(driver, 20); 
    WebElement clickableBtn = wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//*[contains(@id, '_btnEdit']"))); 
    clickableBtn.click(); 
    
    +0

    我在一個列中有多個鏈接,只有一個隨機啓用,其他人被禁用,我需要檢查哪個鏈接已啓用,然後點擊它。 我正在使用正則表達式來查找鏈接,但我怎麼能把循環和點擊幫助 以下是代碼 –

    +0

    int i = 0; do xpath =「.//* [@ id ='ctl00_ctl00_MainContent_ChildContent1_dgDataList_ctl0」+ i +「_ btnEdit']」; a1 = driver.findElement(By.xpath(xpath))。isEnabled(); System.out.println(a1 +「」+ i); i = i + 1; } while(a1 = true); driver.findElement(By.xpath(xpath))。Click(); –

    +0

    @RakeshKumar如果你有一個新的問題,請開始一個新的問題。如果您要爲當前問題添加信息,請編輯當前問題。在評論中提供代碼使其完全難以辨認。 – SiKing

    相關問題