我正在尝试在使用 JAVA 开发的 Web 自动化软件中使用 selenium,以下是我尝试使用 Intelij 作为代码编辑器执行的代码片段:
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// Set the path to the chromedriver executable
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
// Initialize a ChromeDriver instance
WebDriver driver = new ChromeDriver();
// Open a webpage
driver.get("https://github.com/login");
// Perform any additional actions here
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
WebElement name_query = driver.findElement(By.name("login"));
System.out.println("Enter your username:");
String name = sc.nextLine();
name_query.sendKeys(name);
WebElement password_query = driver.findElement(By.name("password"));
System.out.println("Enter your password:");
String password = sc.nextLine();
password_query.sendKeys(password);
WebElement submit_btn = driver.findElement(By.name("commit"));
submit_btn.click();
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}
// Close the browser
driver.quit();
sc.close();
}
}
我做错了什么吗?
该项目是一个使用 POM 文件的 Maven 项目,因此我尝试使用以下代码片段将其作为依赖项手动添加到我的 pom.xml 文件中:
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.21.0</version>
</dependency>
当我在主 Java 文件中尝试以下代码片段时,所需的段都不起作用,因为它们以红色突出显示。
这是模块信息内容:
module com.example.seleniumjavafxtest {
requires javafx.controls;
requires javafx.fxml;
opens com.example.seleniumjavafxtest to javafx.fxml;
exports com.example.seleniumjavafxtest;
}
我解决了这个问题,发现
pom.xml
文件中缺少一些依赖项,只需在 xml 文件中包含最新的 selenium Maven 依赖项,如下所示:
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.21.0</version>
<!--The version varies based on it's current version-->
</dependency>
您可以访问以下站点查看可用的最新版本:Selenium 依赖项存储库
此外,在模块信息页面中,确保添加 selenium 作为必需的依赖项。