Tag: selenium

如何在Selenium中处理具有“UnexpectedAlertBehaviour”function的警报?

在selenium framework 2.25中,我看到我们有UnexpectedAlertBehaviour枚举类型,但我不知道如何使用它。

SessionNotCreatedException:无法创建新服务:在Ubuntu上使用Selenium Grid的GeckoDriverService无法驱动Firefox

我无法使用geckodriver从Selenium驱动Firefox。 这很奇怪,因为chrome使用相同的框架驱动而没有错误! 这些是我的版本号: Firefox 54.0 (64-bit) Chrome Version 62.0.3202.94 (Official Build) (64-bit) selenium-server-standalone-3.7.1.jar client-combined-3.5.3-nodeps.jar geckodriver-v0.19.1-linux64 chromedriver_linux64 Ubuntu 16.10 我从Selenium webdriver获得的错误如下: ——————————–Error: leder@leder-VirtualBox:~/Source/SeleniumCheese/bin$ ./execute_grid.sh Exception in thread “main” org.openqa.selenium.SessionNotCreatedException: Unable to create new service: GeckoDriverService Build info: version: ‘3.7.1’, revision: ‘8a0099a’, time: ‘2017-11-06T21:07:36.161Z’ System info: host: ‘leder-VirtualBox’, ip: ‘127.0.1.1’, os.name: ‘Linux’, os.arch: ‘amd64’, os.version: ‘4.8.0-59-generic’, java.version: […]

如何使用selenium / webdriver将文本输入到tinceMCE editior中

我正在尝试使用Selenium / Webdriver自动将一些文本插入到使用tinymce创建的文本框中 文本框不是普通的香草文本框,因此以下不起作用: System.out.println(“Finding text input element”); WebElement element = inputWebDriver.findElement(By.xpath(“//html/body/div/form/div/div/div[2]”)); //not working //WebElement element = inputWebDriver.findElement(By.tagName(“form”)); // not working //WebElement element = inputWebDriver.findElement(By.id(“tinymce”)); // not working System.out.println(“Entering something in text input”); element.sendKeys(“Test text”); 喜欢纯文本框可以正常工作http://sofzh.miximages.com/java/selenium-google-code-issue-archive 注意:通过selenium,我无法在’embedded’html doc中找到任何元素(我得到元素未找到错误) 我发现一个python等同于上面完成,但是,仍然希望在我的java代码中完成它: browser.execute_script(“tinyMCE.activeEditor.setContent(‘{}’)”.format(testTextVar))

Selenium webdriver可以附加到已打开的浏览器窗口吗?

经过大量的搜索后,我相信这个function还没有实现 – 但有没有人知道我用selenium1 / 2为Java实现的任何解决方法? 如果另一个进程启动了浏览器实例,那么webdriver可以连接到该窗口吗? 任何可以尝试的解决方法。 任何指针都非常感谢。 谢谢!!

使用BrowserMob-Proxy REST api设置自定义标头

我有一个在端口9091上运行的browsermob代理。我正在尝试使用browsermob-proxy REST API来设置自定义标头。 当我通过代理使用Selenium向我的应用程序发出请求时,我看不到我的应用程序控制台中打印的标题。 以下是我的代码。 请求正文基于此处的文档。 我的要求是使用BrowserMob代理API而不是它的Java库用于这个特定的用例。 我在下面的代码中做错了什么? Proxy proxy = new java.net.Proxy(java.net.Proxy.Type.HTTP, new InetSocketAddress(“localhost”, 9091)); String bpmUrl = “http://localhost:8787/proxy/9091/interceptor/request”; Client client = Client.create(); String requestBody = “request.getMethod().addHeader(\”custom-header\”, \”Bananabot/1.0\”);”; WebResource resource = client.resource(bpmUrl); resource.type(MediaType.TEXT_PLAIN_TYPE).post(requestBody); String url = “http://localhost:8004”; DesiredCapabilities capabilities = DesiredCapabilities.firefox(); capabilities.setCapability(CapabilityType.PROXY, proxy); WebDriver driver = new FirefoxDriver(capabilities); driver.get(url); driver.quit(); 编辑1 我试过@ Erki的解决方案,我觉得应该可行,但事实并非如此。 这里有什么遗漏? […]

无法在selenium webdriver中选择iframe

我试图通过类名选择一个Iframe ,但它不起作用,我正在尝试使用tagName ,但是当我尝试在Iframe的元素内输入时我不能,请你帮我这里是我的代码: webDriver driver.switchTo().frame( driver.findElement( By.className( “cke_wysiwyg_frame cke_reset” ) ) ); driver.findElement( By.xpath( “//body[contains(text(),’type here’)]” ) ).sendKeys( “Testing” ); 这是我网页上的HTML: Press ALT 0 for help type here

如何从扩展名为.html的网页下载pdf文件programmatticaly?

我已经在这个论坛上审查了所有类似的问题 (不仅仅是这个!)并尝试了所有这些方法,但仍然无法以编程方式下载测试文件: http : //pdfobject.com/markup/examples/full-browser- window.html 以下是我尝试下载的测试文件的直接链接 。 这是一个具有开放访问权限的测试pdf文件,因此任何人都可以使用它来测试下载方法。 如何下载此特定文件以使其具有pdf扩展名?

Selenium获取.har文件

我有一个两页的应用程序: /登录 /简介 我想得到.har文件页面/个人资料 。 当我转到页面/登录时 ,使用key = connect.sid和value =“example value”创建cookie。 此cookie尚未激活。 我添加了活动connect.sid的cookie。 WebDriver webDriver = getDriver(); webDriver.get(LOGIN_PAGE); webDriver.manage().addCookie(connectsSId); 它不起作用,因为在加载页面后,/ login创建了一个新的cookie。 我也试过这段代码: WebDriver webDriver = getDriver(); webDriver.get(PROFILE_PAGE); webDriver.manage().deleteAllCookies(); webDriver.manage().addCookie(connectsSId); 这不起作用。 cookies被添加但似乎为时已晚。 WebDriver webDriver = getDriver(); LoginPage loginPage = new LoginPage(getDriver()); LandingPage landingPage = loginPage.login(); landingPage.openProfilePage(); 此代码为页面/登录创建了一个.har文件。 由于某种原因,只有在第一次调用页面后才会创建文件。 我无法解决这个问题。

Java webdriver:元素不可见exception

我有以下问题。 我有一个隐藏的下拉列表,所以当我进行选择并运行测试时,我收到以下错误: org.openqa.selenium.ElementNotVisibleException: element not visible: Element is not currently visible and may not be manipulated (Session info: chrome=30.0.1599.101) 这是我的选择: Select s = new Select(dropDown); s.selectByVisibleText(“CHARGEBACK”); 是否有一个漫步它来操纵隐藏的元素? 我在其中一个post中找到了以下代码: JavascriptExecutor jse = (JavascriptExecutor) driver; jse.executeScript(“arguments[0].scrollIntoView(true);”, element); 这是html代码: Seleccione un Registro SECURITY CALL CENTER CHARGEBACK PREVENÇÃO A FRAUDE ANALISE DE CREDITO SUPORTE A CONTA REGULARIZAÇÃO FINANCEIRA 它在这种情况下不起作用。 […]

Firefox错误:使用Java启动Selenium 3.0.1驱动程序时“您的连接不安全”

我的Firefox版本是46.0.1,Selenium版本是3.0.1。 我收到错误: 您的连接不安全 执行以下代码时: @Test public void test() { ProfilesIni profile = new ProfilesIni(); FirefoxProfile ffProfile = profile.getProfile(“newCretedProfile”); ffProfile.setAcceptUntrustedCertificates(true); ffProfile.setAssumeUntrustedCertificateIssuer(false); System.setProperty(“webdriver.gecko.driver”, “D:\\SELENUIUM\\Drivers\\geckodriver.exe”); FirefoxDriver driver = new FirefoxDriver(ffProfile); driver.get(“http://www.google.com”); driver.quit(); } 我创建了新的firefox配置文件,并按照此URL的步骤操作 然而,当我启动任何网站时,它不起作用并给我同样的错误。