当前位置: 首页 > 知识库问答 >
问题:

如何自动接受cookies pop windows Automation Java

温浩大
2023-03-14

我的代码中有什么错误,为什么自动单击在接受cookie按钮中不工作。这个网站使用角应用程序。

import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import com.paulhammant.ngwebdriver.ByAngular;
import com.paulhammant.ngwebdriver.NgWebDriver;

public class NewClass {

public static void main(String[] args) {
    
    System.setProperty("webdriver.chrome.driver",
            "C:\\Users\\Hp\\Downloads\\chromedriver_win32\\chromedriver.exe");
        ChromeDriver driver = new ChromeDriver();
                    NgWebDriver ngWebDriver = new NgWebDriver(driver);
                    ngWebDriver.waitForAngularRequestsToFinish();
        driver.get("https://visa.vfsglobal.com/ind/en/deu/login/");
        ngWebDriver = new NgWebDriver((JavascriptExecutor) driver);
        ngWebDriver.waitForAngularRequestsToFinish();           
        driver.findElement(ByAngular.options("onetrust-accept-btn-handler")).click();
 }

}

共有1个答案

澹台博文
2023-03-14

据我所知,没有办法使用ChromeOptions自动接受cookie,您需要找到元素并单击。

driver = new ChromeDriver();
driver.get("https://visa.vfsglobal.com/ind/en/deu/login/");
new WebDriverWait(driver, 30).until(ExpectedConditions.elementToBeClickable(By.id("onetrust-accept-btn-handler"))).click();
 类似资料:
  • 问题内容: 有谁知道如何禁用此功能?还是如何从已自动接受的警报中获取文本? 该代码需要工作, 但是却给出了这个错误 我正在将FF 20与Selenium 2.32一起使用 问题答案: 就在前几天,我已经回答了类似的问题,所以它仍然很新鲜。您的代码失败的原因是,如果在处理代码时未显示警报,则该警告通常会失败。 值得庆幸的是 ,来自Selenium WebDriver的家伙们已经等待了它。对于您的代码

  • 问题内容: 有谁知道如何禁用此功能?还是如何从已自动接受的警报中获取文本? 该代码需要工作, 但是却给出了这个错误 我正在将FF 20与Selenium 2.32一起使用 问题答案: 就在前几天,我已经回答了类似的问题,所以它仍然很新鲜。您的代码失败的原因是,如果在处理代码时未显示警报,则该警告通常会失败。 值得庆幸的是 ,来自Selenium WebDriver的人员已经为此实施了等待。因为您的

  • 我有2个Android设备直接使用WiFi。在一个设备上,我可以使用类获取关于另一个设备的信息,并请求连接到另一个设备。然而,当我请求连接时,另一个设备会弹出一个小窗口,询问用户是否要接受连接请求。 是否可以自动接受这些连接请求?即无需用户确认即可连接到其他设备?

  • 使用Git,有没有办法告诉它接受自签名证书? 我使用https服务器来托管git服务器,但目前证书是自签名的。 当我第一次尝试在那里创建回购时: 我得到的错误:

  • 有这个线程(自动接受所有SDK许可)和现在已经不推荐使用的lib(https://github.com/jakewharton/sdk-manager-plugin)解决了更新(CI服务器)系统的问题,该系统解决了这个问题,但不应该再需要它们了... 在android-tools的当前版本中(我认为从2.2.0版开始),gradle将自动下载所需的SDK、构建工具等(这将是非常棒的)。 在我的例子

  • 我想在弹簧靴中使用RedisTemplate。我可以成功地使用StringRedisTemplate,但我不能使用Redistemplate。这是密码。 然后,运行测试方法:testObject(),下面是错误报告: