java
  • selenium
  • 2016-02-25 153 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

    相关问题