首页 > 解决方案 > 在java中使用selenium我想点击cookie的“接受”按钮

问题描述

在此处输入图像描述 使用 java selenium 我想点击“接受按钮”。我使用了诸如:、、、和方法之类的定位器cssselector,但没有xpath用。第二种方法是使用or , , 获取一个 cookie,但没有奏效。relpathtagclick()DeleteAllCookieDeleteCookieByNameAddCoockie

我认为它可以是Thread.sleep,但我不知道如何识别元素并且我不知道如何编写脚本,所以我可以点击那个“接受”。我认为 selenium java 无法识别该按钮。

标签: javaseleniumcookies

解决方案


可能当您加载网页时,cookie 策略横幅还没有出现,它会在几秒钟后出现。因此,当您尝试查找该元素时,它并不存在。不过不用担心,Selenium 有一个工具可以做到这一点,你必须以编程方式等待元素出现,语法如下:

WebDriverWait w = new WebDriverWait(driver, 600);
w.until(ExpectedConditions.presenceOfElementLocated(
        By.cssSelector("button[attribute='value']")));

WebElement cookieButton = driver.findElement(By.cssSelector("button[attribute='value']"));

cookieButton.click()

基本上,您创建一个新的 WebDriverWait 实例并将驱动程序和要等待的最大毫秒作为参数传递,然后使用您喜欢的选择器使用 until 方法设置等待条件。


推荐阅读