在java中使用selenium,我想点击;接受;饼干的按钮

在java中使用selenium,我想点击;接受;饼干的按钮,java,selenium,cookies,Java,Selenium,Cookies,使用java selenium,我想点击“接受按钮”。我使用了如下定位器:cssselector,xpath,relpath,tag和click()方法,但都不起作用。 第二种方法是使用DeleteAllCookie或DeleteCookieByName,addCookie,获取一个cookie,但这不起作用 我认为它可以与Thread.sleep一起使用,但我不知道如何识别元素,也不知道如何编写脚本,以便单击“接受”。我认为selenium java无法识别该按钮。可能在加载网页时,cooki

使用java selenium,我想点击“接受按钮”。我使用了如下定位器:
cssselector
xpath
relpath
tag
click()
方法,但都不起作用。 第二种方法是使用
DeleteAllCookie
DeleteCookieByName
addCookie
,获取一个cookie,但这不起作用


我认为它可以与Thread.sleep一起使用,但我不知道如何识别元素,也不知道如何编写脚本,以便单击“接受”。我认为selenium java无法识别该按钮。

可能在加载网页时,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方法设置等待条件。

始终添加代码,包括控制台输出。在这种情况下,还需要查看源代码。请提供html源代码或url。如果它是公共的,我们可以有url吗?否则分享HTML代码非常感谢,在谷歌上尝试了很多次之后,它成功了。