这是我的网址:
DM:
这是我的定位器按钮接受所有:
@FindBy( xpath = "//button[@data-testid = 'uc-accept-all-button']")
WebElement cookies;
这是HTML:
我使用Selenium 4和Java。我尝试这样的解决方案:
public void acceptAllCookies( ) {
cookies = driver.executeScript("return document.querySelector('#usercentrics-root').shadowRoot.querySelector("cookies")");
cookies.click();
}
但它不工作。我有这样的错误:
有什么帮助吗?我是一个初学者,所以我第一次看到这个
我尝试添加更多的"标记,就像我在这里找到的解决方案,但我得到了整个executeScript像文本。
3条答案
按热度按时间jvlzgdj91#
您需要在
"cookies"
中使用转义序列。jxct1oxe2#
如果您的css选择器是cookie而不是java变量,则必须在js.executeScript方法中使用单引号将cookie括起来。并且上面定义的Cookie是WebElement,在调用executeScript方法时不能直接使用。
这并不能解决您的问题,请详细解释您的问题。
oewdyzsn3#
元素Prihvite sve按钮在#shadow-root (open)范围内
溶液
要单击所需的元素,您需要使用querySelector(),并且可以使用以下locator strategies:
参考文献
您可以在以下内容中找到一些相关的详细讨论: