如何在Webdriver中最大化Iframe PoPup窗口?

时间:2014-01-17 11:53:09

标签: iframe selenium selenium-webdriver phantomjs selenium-chromedriver

Image attached is scrrenshoot of window opened in phantomJs driver

如何在Webdriver中最大化Iframe弹出窗口?如scrrenshot所示,在“添加工作体验”中有许多问题,该部分在iframe中打开。现在,当我试图回答这些问题时,我得到了以下异常: - “线程中的异常”主“org.openqa.selenium.ElementNotVisibleException:错误消息=>'元素当前不可见,可能无法操纵'”

我认为这一定是因为在iFrame中打开的弹出窗口没有处于最大化状态,并且许多问题都不可见,因为相同的代码在ChromeDriver中有效,默认情况下“添加工作区”在Chrome中以最大化状态打开

我试过了。

driver.switchTo()帧(iframes.get(0));

driver.manage()窗口()最大化();

但这不起作用。

以下是详细的重复步骤: -
1)转到talentconnect.pge.com/sap/bc/webdynpro/sap/hrrcf_a_unreg_job_search?sap-client=810&sap-wd-configId=ZPERJ_A_UNREG_JOB_SEARCH#

用户名: - softwaretesting805@gmail.com 密码: - 1Selenium @

2)搜索并申请任何工作并进入工作信息页面,当您单击“添加工作”选项卡时,此弹出窗口出现,我正在尝试回答状态问题,这是当前隐藏在Scrrenshot中的所有ids这些网站是动态的,我正在使用dom结构回答它们。

            textElements = driver.getDriver().findElements(
                    By.xpath("//input[@type=\"text\"]"));

我的输入dto中有“问题”和“答案”,我以这种方式回答它们

            if (question.contains("Employer")) {
                textElements.get(0).sendKeys(answer);
                continue;
            } else if (question.contains("Start Date")) {
                textElements.get(1).sendKeys(answer);
                continue;
            }                        

2 个答案:

答案 0 :(得分:2)

运行增加iframe高度和宽度的javascript,我有自己的例子:

((JavascriptExecutor) driver).executeScript("document.getElementById('containerId').style.height = '200px';");

((JavascriptExecutor) driver).executeScript("arguments[0].style.height = '200px';", element);

答案 1 :(得分:0)

有时Maximize()无法最大化窗口,用户仍然可以使用提及尺寸的变通方法来最大化窗口。

此代码段在Java中......

Toolkit tool_kit = Toolkit.getDefaultToolkit (); 
int width=(int) tool_kit.getScreenSize().getWidth();
int height=(int) tool_kit.getScreenSize().getHeight();
Dimension screen_Dimension = new Dimension(width, height);
web_Driver.manage().window().setSize(screen_Dimension);

希望这有帮助