无法在 iFrame 中找到单选按钮

尝试在iFrame中查找单选按钮,但出现错误,因为找不到此类元素。


已尝试切换到iFrame,但仍收到相同的错误。不知道我错过了什么。尝试了几种方法,但没有通过。不确定我的Xpath是否错误,或者我使用id来定位元素的方式是错误的。[在开发人员工具中验证了我的Xpath,但仍然收到相同的错误,即找不到suh元素]


提前感谢您。


public class Sap_Demo {


    WebDriver driver;

    JavascriptExecutor jse;


    public static void main(String[] args) 

    {


        Sap_Demo demoObj = new Sap_Demo();


        demoObj.invokeBrowser();

        demoObj.initializeSAPFiory();

        demoObj.forecastMD61();


    }




    public void invokeBrowser()

    {

        System.setProperty("webdriver.chrome.driver", "U:\\Research Paper\\Selenium\\Drivers\\Chrome\\chromedriver_win32\\chromedriver.exe");

        driver = new ChromeDriver();


        driver.manage().deleteAllCookies();

        driver.manage().window().maximize();

        driver.manage().timeouts().implicitlyWait(40, TimeUnit.SECONDS);

        driver.manage().timeouts().pageLoadTimeout(40, TimeUnit.SECONDS);

    }


    public void initializeSAPFiory()

    {


        try 

        {

            Thread.sleep(1200);

            driver.get("https://dijon.cob.csuchico.edu:8042/erp");

            driver.findElement(By.id("USERNAME_FIELD-inner")).sendKeys("H4");

            Thread.sleep(1200);


            driver.findElement(By.id("PASSWORD_FIELD-inner")).sendKeys("Onsjhjsa1087");

            Thread.sleep(1200);


            driver.findElement(By.id("CLIENT_FIELD-inner")).clear();

            Thread.sleep(1200);


            driver.findElement(By.id("CLIENT_FIELD-inner")).sendKeys("485");

            Thread.sleep(1200);


            driver.findElement(By.xpath("//span[@class='sapMBtnContent sapMLabelBold sapUiSraDisplayBeforeLogin']")).click();

        } 

        catch (InterruptedException e) 

        {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

    }

}


守着星空守着你
浏览 113回答 1
1回答

繁星淼淼

元素的第一个 xpath 和 iframe 的 id 是正确的,但是当窗口在新选项卡中打开时,您需要将驱动程序切换到新选项卡。driver.switchTo().defaultContent();ArrayList<String>&nbsp;tabs&nbsp;=&nbsp;new&nbsp;ArrayList<String>&nbsp;(driver.getWindowHandles()); driver.switchTo().window(tabs.get(1));如果要切换到原始选项卡,则需要使用:driver.switchTo().window(tabs.get(0));
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java