小编典典

无法在Selenium Webdriver中单击单选按钮

java

我正在使用Java学习Selenium
Webdriver。作为一个学习示例,我尝试打开MakeMyTrip,访问“
国际航班”页面,然后单击Google
Chrome中的“ 单向” 单选按钮。我尝试了其他方法来定位此单选按钮,但仍无法正常工作。请在我的代码示例下面找到。

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

public class TryRadioClass {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.setProperty("webdriver.chrome.driver", "Chrome exe path");
        WebDriver driver=new ChromeDriver(); 
        driver.get("http://www.makemytrip.com/international-flights");
        driver.manage().window().maximize();
        driver.manage().timeouts().implicitlyWait(45, TimeUnit.SECONDS);
        boolean displayFlag = driver.findElement(By.linkText("ONE WAY")).isDisplayed();
        System.out.println("Display Flag :- "+displayFlag);
        boolean enableFlag = driver.findElement(By.linkText("ONE WAY")).isEnabled();
        System.out.println("Enable Flag :- "+enableFlag);
        if(displayFlag==true && enableFlag==true)
        {
            WebElement element=driver.findElement(By.linkText("ONE WAY"));
            element.click();
            System.out.println("Tried to click One Way");
        }
    }

}

谁能帮我解决这个问题?


阅读 248

收藏
2020-11-30

共1个答案

小编典典

使用以下代码:-

    if(displayFlag==true && enableFlag==true)
    {
        try{
        Thread.sleep(5000);
        }
        catch(Exception ex)
        {
            System.out.println(ex.getMessage());
        }
        WebElement element=driver.findElement(By.xpath("//span[@class='radio_state']"));
        JavascriptExecutor executor = (JavascriptExecutor) driver;
        executor.executeScript("arguments[0].click();", element);
        System.out.println("Tried to click One Way");
    }

享受..如果仍然遇到任何问题,请与我联系:)

2020-11-30