我最近开始自学 selenium 和 java,一直在学习在线课程,但是在尝试这样做时一直收到这两个错误消息,代码本质上是用于查找谷歌浏览器并自动将文本输入搜索栏,但它会加载谷歌并且什么也不做。
代码:
package test;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
public class test1 {
public static void main(String[] args) {
test();
}
public static void test() {
System.getProperty("WebDriver.chrome.driver");
WebDriver driver = new ChromeDriver();
//go to google.com
driver.get("https://www.google.com");
//enter text in search box
driver.findElement(By.name("q")).sendKeys("Automation step by step");
//click on search button
driver.findElement(By.name("btnK")).click();
//close browser
driver.close();`your text`
System.out.println("Test completed");
}
}
安慰:
Oct 30, 2024 9:49:24 AM org.openqa.selenium.devtools.CdpVersionFinder findNearestMatch
WARNING: Unable to find an exact match for CDP version 130, returning the closest version; found: 129; Please update to a Selenium version that supports CDP version 130
Exception in thread "main" org.openqa.selenium.ElementNotInteractableException: element not interactable
我该怎么做才能解决这个问题,因为我对这个完全陌生,对这个错误有点困惑
最佳答案
1
WARNING: Unable to find an exact match for CDP version 130, returning the closest version; found: 129; Please update to a Selenium version that supports CDP version 130
您可以忽略上述内容。这只是一个警告,而不是异常。基本上,警告只是关于 chromedriver.exe 和 chrome 版本不匹配。
Exception in thread "main" org.openqa.selenium.ElementNotInteractableException: element not interactable
上述异常才是真正的问题。似乎 selenium 无法与目标元素交互,因为其他元素覆盖了目标元素。我认为在这种情况下,是接受/拒绝 cookie 弹出窗口。
Accept all在将文本发送到 Google 搜索之前,请尝试单击按钮来摆脱弹出窗口。
检查下面的代码:
driver.findElement(By.xpath("//div[text()='Accept all']")).click();
//enter text in search box
driver.findElement(By.name("q")).sendKeys("Automation step by step");
3
-
非常感谢,它成功了。所以本质上是因为每次打开 chrome 时都会弹出窗口吗?那行代码基本上就是接受它,所以我假设没有延迟
– -
没错。当 Selenium 启动浏览器时,它会在干净的浏览配置文件中启动,因此每次您都会收到此类 cookie 弹出窗口。您只需单击“接受”或“拒绝”即可将其关闭。
– -
该警告与 CDP 绑定有关…这些都包含在 Selenium Jar 中。(更新 Selenium 可能有助于解决警告问题,但这不是必需的…它适用于 Chrome Dev Tools 协议…因此浏览器版本与 selenium 的 CDP 绑定版本)
–
|
|