gpt4 book ai didi

c# - Selenium WebDriver C# - 难以从 iFrame 切换回 MainPage 标题

转载 作者:行者123 更新时间:2023-11-30 22:17:01 24 4
gpt4 key购买 nike

客气一点,这是我使用 selenium 和 C# 的第 2 个月......

我正在 IE 中测试网页,并且能够在模式弹出窗口/框架/等之间切换。我在关闭我所在的当前页面(将我导航回到起点)后遇到问题,为页面上的另一个主标题选择元素?

这就是开始,它工作正常(在你问之前,它是基于网络的酒店管理软件):

        // Navigate to and logon to page
this.Login();

// Selects the reservations main heading
**this.ClickElementByID("rpt_TopMenu_ctl06_lbtn_MenuItem");** //This is a "MainMenu" item in question

// Selects the reservations sub-heading
this.ClickElementByID("x:1675617787.4:adr:0.2");

// Switch to main page frame
this.TargetFrame("MainFrame");

// Selects 'create new reservation'
this.ClickElementByID("wbtn_CreateIndividualReservation");

//// Set text for title
this.EnterTextByID("tc_tp_Main_rpt_Guests_ctl00_winp_Title", "Mr");

//// Set text for firstname
this.EnterTextByID("tc_tp_Main_rpt_Guests_ctl00_winp_Forename", "A");

// Set text for lastname
this.EnterTextByID("tc_tp_Main_rpt_Guests_ctl00_winp_Surname", "ABCDEFG");

它会继续输入数据,直到我点击关闭。我的假设是它仍在将我注册为 iFrame“MainFrame”。但是没有任何其他框架 ID,我不知道如何切换回未聚焦的页面 View 。我所在的框架位于我要选择的元素标题下方(单独)。

标题确实有一个 FormID,但不确定如何将焦点切换到这个?......帮助......

任何批评都会很好,因为我仍在学习并且不想养成坏习惯(ps,我是自学的,所以可能已经有一些坏习惯了)。

-科林

最佳答案

使用 C# 中的 WebDriver,您可以像这样获取当前框架元素:

WebElement el = (WebElement) ((JavascriptExecutor) driver).executeScript("return window.frameElement");

您应该在切换到 MainFrame 之前获取并存储此元素,以便您可以根据需要切换回来。

关于c# - Selenium WebDriver C# - 难以从 iFrame 切换回 MainPage 标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16988846/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com