【发布时间】:2017-02-02 17:40:45
【问题描述】:
我正在尝试使用在线教程等学习 Selenium Webdriver...
我正在努力克服这个关闭这个弹出窗口的障碍。
使用: 笔记本电脑:外星人 操作系统:Windows 10 64 位 浏览器:Firefox 51.0.1(32 位) Eclipse:版本:Neon.2 Release (4.6.2) Build id:20161208-0600 Selenium Webdriver:Java 3.0.1 2016-10-18
`package com.indeed.tests;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class IndeedJobSearch {
public static void main(String[] args) throws InterruptedException {
// TODO Auto-generated method stub
//Create firefox driver to drive the browser
System.setProperty("webdriver.gecko.driver", "C:\\Users......\\geckodriver.exe");
WebDriver driver = new FirefoxDriver();
//Open Indeed home page
driver.get("https://www.indeed.co.uk/");
//Find what field and enter Selenium
Thread.sleep(1000);
driver.findElement(By.id("what")).sendKeys("Selenium");
//Find location field and enter London
driver.findElement(By.id("where")).clear();
Thread.sleep(1000);
driver.findElement(By.id("where")).sendKeys("London");
//Find FindJobs button and click on it
Thread.sleep(1000);
driver.findElement(By.id("fj")).click();
//Close popup - popover, not popup
//prime-popover-div
//selenium webdriver cannot close bootstrap popovers
//Can't find a solution
//From job search results page, get page title and jobs count message
//searchCount
System.out.println(driver.getTitle());
System.out.println(driver.findElement(By.id("searchCount")).getText());
driver.close();
}
}
`
预期结果:Selenium Webdriver 将打开 Firefox 浏览器,加载 Indeed.co.uk 网页,在第一个字段中插入“Selenium”,在第二个字段中插入“London”,点击搜索按钮,在控制台和驱动程序窗口中获取标题和作业计数值。
实际结果: Selenium Webdriver 会打开 firefox 浏览器,加载 Indeed.co.uk 网页,在第一个字段中插入“Selenium”,在第二个字段中插入“London”,点击搜索按钮, 停止对 url 字段的关注,没有其他任何事情发生。
我尝试了一些解决方案,但无法正常工作 (https://sqa.stackexchange.com/questions/5310/how-to-close-pop-up-window-in-selenium-webdriver)
例如
driver.findElement(By.id("prime-popover-close-button")).click();
Driver.SwitchTo().frame("prime-popover-div");
Driver.findElement(By.id("prime-popover-close-button")).click();
Driver.SwitchTo().defaultContent();
driver.findElement(By.xpath("//*[@id='prime-popover-close-button']/a/img")).click();
注意:不完全确定我的 xpath 是否正确编写,仍在学习中。
这些似乎都不起作用。我读到一些关于 Selenium WebDriver 不处理引导弹出窗口的内容,不确定这是否正是我的情况,或者你们中的任何人是否找到了解决方案。
希望有解决方案和/或建议:)
非常感谢您。
【问题讨论】:
标签: java selenium selenium-webdriver popover bootstrap-popover