gpt4 book ai didi

java - Selenium webdriver 版本问题

转载 作者:行者123 更新时间:2023-12-01 10:54:07 25 4
gpt4 key购买 nike

我正在尝试编写一个获取爱沙尼亚邮政编码的脚本。这是代码:

import com.gargoylesoftware.htmlunit.BrowserVersion
import org.openqa.selenium.{By, WebDriver}
import org.openqa.selenium.htmlunit.HtmlUnitDriver

object Application {

def main(args: Array[String]) {
val driver = new HtmlUnitDriver(BrowserVersion.CHROME)
driver.setJavascriptEnabled(true)
query(driver, "Pelguranna 9")
}

def query(driver: WebDriver, query: String) {
driver.get("https://www.omniva.ee/eng")

val tab = driver.findElement(By.xpath("//*[@class='search-tabs']/li[1]"))
tab.click()

val name = driver.findElement(By.name("zip_address"))
name.sendKeys(query)
name.submit()

val result = driver.findElement(By.xpath("//*[@id='zip_container']/p[0]"))
print(result)
}

}

基本上,您应该转到 URL,单击“查找邮政编码”选项卡,插入地址,按 Enter 键并获取第一个结果。

但是我收到错误:

Driver info: driver.version: unknown
at org.openqa.selenium.htmlunit.HtmlUnitWebElement.verifyCanInteractWithElement(HtmlUnitWebElement.java:282)
at org.openqa.selenium.htmlunit.HtmlUnitWebElement.sendKeys(HtmlUnitWebElement.java:326)
at Application$.query(grab.scala:20)
at Application$.main(grab.scala:10)
at Application.main(grab.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)

我以前从来没有写过这样的东西,所以不知道这个错误意味着什么。谁能告诉我我的代码有什么问题吗?

最佳答案

我发现您的代码存在以下问题。

  1. 元素的 XPath 错误。
  2. 操作之间没有足够的等待时间。

我是一名 JAVA 人员,能够使用以下代码获取邮政编码。我相信你可以对Python进行更改。

public static void main(String[] args) throws InterruptedException {
WebDriver driver = new HtmlUnitDriver(BrowserVersion.CHROME);
((HtmlUnitDriver) driver).setJavascriptEnabled(true);
test(driver, "Pelguranna 9");
}

public static void test(WebDriver driver, String query) throws InterruptedException {
driver.get("https://www.omniva.ee/eng");

Thread.sleep(5000);

WebElement tab = driver.findElement(By.xpath("//a[.='Find a ZIP code'][@href='#search-zip']"));
tab.click();

WebElement name = driver.findElement(By.name("zip_address"));
name.sendKeys(query);
name.submit();

Thread.sleep(10000);

WebElement result = driver.findElement(By.xpath("//*[@id='zip_container']/p/span"));
System.out.println(result.getText());
}

希望这对您有帮助。

关于java - Selenium webdriver 版本问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33719122/

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