Chrome浏览器无头问题:没有这样的元素:无法在中找到元素chrome://downloads/.



由于某些情况,我需要访问chrome://downloads/通过无头模式,但我得到的错误看起来像这样:

org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"css selector","selector":"#useragent"}
(Session info: headless chrome=91.0.4472.124)

在尝试四处搜索并尝试了很多时间后,但失败了我添加了很多铬选项如下:

ChromeOptions options = new ChromeOptions()
options.addArguments('--headless', '--start-maximized', '--window-size=1366,768', 'disable-blink-features=AutomationControlled', 
'privileged', '--test-type', '--disable-gpu', '--no-first-run', '--no-default-browser-check', '--ignore-certificate-errors', 
'--disable-extensions', '--proxy-bypass-list=*', '--disable-dev-shm-usage', '--no-sandbox', '--lang=en_US', '--allow-running-insecure-content')
options.addArguments('user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.164 Safari/537.36')
options.setExperimentalOption('useAutomationExtension', false)
options.setExperimentalOption('excludeSwitches', ['enable-automation'])
options.addArguments('--proxy-server='direct://'')
System.setProperty('webdriver.chrome.driver', ((RunConfiguration.getProjectDir() + '\Data Files\builds\chromedriver_') + 
GlobalVariable.chromeDriverVersion) + '.exe')
WebDriver driver = new ChromeDriver(options)
driver.navigate().to('chrome://version/')
WebElement userAgent = driver.findElement(By.cssSelector('#useragent'))
String txtUserAgent = userAgent.getText()
println(txtUserAgent)

但没有运气发生

所以任何人都可以帮助解决这个问题,非常感谢!PS:在正常模式下可以正常工作。

Chrome://downloads/中的几乎所有内容都在Shadow根下。您无法直接访问它们。

此外,您会看到DOM中有很多嵌套的阴影元素。

我在这里找到了一个关于如何访问阴影元素的很好的例子。

def expand_shadow_element(element):
shadow_root = driver.execute_script('return arguments[0].shadowRoot', element)
return shadow_root

相关内容

  • 没有找到相关文章

最新更新