gpt4 book ai didi

java - 使用 Java 使用 Selenium WebDriver 启动 Safari 期间无法与 SafariDriver 建立连接

转载 作者:行者123 更新时间:2023-12-01 04:34:34 26 4
gpt4 key购买 nike

尝试将 Selenium 与 SafariWebDriver 一起使用。使用 jar selenium-server-standalone-2.33.0.jar - 运行 Jetty 服务器

java -jar ./lib/selenium-server-standalone-2.33.0.jar 

selenium-java-2.33.0.jar(我没有使用 Maven 来设置项目 - 只是下载了 jar,并使用 javac 进行编译)

javac -s ./src -cp ./classes:./lib/selenium-java-2.33.0.jar:./lib/selenium-server-standalone-2.33.0.jar ./src/jgf/Selenium2Example.java -d ./classes

编写了一个类,或多或少是 Selenium2Example 的复制/粘贴,但使用 SafariWebDriver 而不是 FirefoxWebDriver

但是当代码执行时,我在 Safari Web 浏览器中收到消息(使用 Snow Leopard 和 Safari 5.1.9 (6534.59.8))。

无法与 SafariDriver 建立连接

关于如何解决这个问题有什么想法吗?

顺便说一句:我没有使用通过注册为 Apple 开发人员而从带有证书的源代码编译的 Safari 扩展 - 我认为这适用于早期的 jar 版本。

这是代码

package jgf;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
//import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.safari.SafariDriver;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.WebDriverWait;

public class Selenium2Example {
public static void main(String[] args) {
// Create a new instance of the Firefox driver
// Notice that the remainder of the code relies on the interface,
// not the implementation.
//WebDriver driver = new FirefoxDriver();
WebDriver driver = new SafariDriver();

// And now use this to visit Google
driver.get("http://www.google.com");
// Alternatively the same thing can be done like this
// driver.navigate().to("http://www.google.com");

// Find the text input element by its name
WebElement element = driver.findElement(By.name("q"));

// Enter something to search for
element.sendKeys("Cheese!");

// Now submit the form. WebDriver will find the form for us from the element
element.submit();

// Check the title of the page
System.out.println("Page title is: " + driver.getTitle());

// Google's search is rendered dynamically with JavaScript.
// Wait for the page to load, timeout after 10 seconds
(new WebDriverWait(driver, 10)).until(new ExpectedCondition<Boolean>() {
public Boolean apply(WebDriver d) {
return d.getTitle().toLowerCase().startsWith("cheese!");
}
});

// Should see: "cheese! - Google Search"
System.out.println("Page title is: " + driver.getTitle());

//Close the browser
driver.quit();
}
}

最佳答案

我在 2.34 中遇到了同样的问题,所以我回到了 2.31,一切似乎都很好,在 safari 中没有出现“无法建立连接”错误。

关于java - 使用 Java 使用 Selenium WebDriver 启动 Safari 期间无法与 SafariDriver 建立连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17516734/

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