Python Selenium webdriver可以';找不到任何元素chrome://downloads

Python Selenium webdriver可以';找不到任何元素chrome://downloads,python,google-chrome,selenium,selenium-webdriver,selenium-chromedriver,Python,Google Chrome,Selenium,Selenium Webdriver,Selenium Chromedriver,我在python中使用selenium和chromedriver 我的问题是,当我试图访问chrome下载页面上的元素时,selenium给了我一个错误(chrome://downloads). 例如,我尝试获取文件url“” 例外情况: Traceback (most recent call last): File "<pyshell#34>", line 3, in <module> driver.find_element_by_id("url")

我在python中使用selenium和chromedriver

我的问题是,当我试图访问chrome下载页面上的元素时,selenium给了我一个错误(chrome://downloads). 例如,我尝试获取文件url“”

例外情况:

Traceback (most recent call last):
  File "<pyshell#34>", line 3, in <module>
    driver.find_element_by_id("url")
  File "D:\Python\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 269, in find_element_by_id
    return self.find_element(by=By.ID, value=id_)
  File "D:\Python\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 752, in find_element
    'value': value})['value']
  File "D:\Python\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 236, in execute
    self.error_handler.check_response(response)
  File "D:\Python\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 192, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"id","selector":"url"}
  (Session info: chrome=56.0.2924.87)
  (Driver info: chromedriver=2.27.440174 (e97a722caafc2d3a8b807ee115bfb307f7d2cfd9),platform=Windows NT 10.0.10586 x86_64)
回溯(最近一次呼叫最后一次):
文件“”,第3行,在
驱动程序。通过id(“url”)查找元素
文件“D:\Python\lib\site packages\selenium\webdriver\remote\webdriver.py”,第269行,在find\u element\u by\u id中
返回self.find_元素(by=by.ID,value=ID_u)
文件“D:\Python\lib\site packages\selenium\webdriver\remote\webdriver.py”,第752行,位于find\u元素中
'value':value})['value']
文件“D:\Python\lib\site packages\selenium\webdriver\remote\webdriver.py”,第236行,在execute中
self.error\u handler.check\u响应(响应)
文件“D:\Python\lib\site packages\selenium\webdriver\remote\errorhandler.py”,第192行,在check\u响应中
引发异常类(消息、屏幕、堆栈跟踪)
selenium.common.exceptions.NoSuchElementException:消息:没有这样的元素:无法定位元素:{“方法”:“id”,“选择器”:“url”}
(会话信息:chrome=56.0.2924.87)
(驱动程序信息:chromedriver=2.27.440174(E97A722CAFC2D3A8B807EE115BFB307F7D2CFD9),平台=Windows NT 10.0.10586 x8664)
通过
driver.execute\u script()
使用javascript对我也不起作用。
当我可以在浏览器中看到元素时,为什么我会得到一个
NoTouchElementException

目标链接位于几个
影子根
块中。试试这个:

driver = webdriver.Chrome("chromedriver.exe")
driver.get("chrome://downloads/")

manager = driver.find_element_by_css_selector('body/deep/downloads-manager')
item = manager.find_element_by_css_selector('body/deep/downloads-item')
shadow = driver.execute_script('return arguments[0].shadowRoot;', item)
link = shadow.find_element_by_css_selector('div#title-area>a')

file_url = link.get_attribute("href")

谢谢你的回答,正是我想要的。(只需将“css选择器”更改为“css_选择器”)哦,是的。错过了:)
Traceback (most recent call last):
  File "<pyshell#34>", line 3, in <module>
    driver.find_element_by_id("url")
  File "D:\Python\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 269, in find_element_by_id
    return self.find_element(by=By.ID, value=id_)
  File "D:\Python\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 752, in find_element
    'value': value})['value']
  File "D:\Python\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 236, in execute
    self.error_handler.check_response(response)
  File "D:\Python\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 192, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"id","selector":"url"}
  (Session info: chrome=56.0.2924.87)
  (Driver info: chromedriver=2.27.440174 (e97a722caafc2d3a8b807ee115bfb307f7d2cfd9),platform=Windows NT 10.0.10586 x86_64)
driver = webdriver.Chrome("chromedriver.exe")
driver.get("chrome://downloads/")

manager = driver.find_element_by_css_selector('body/deep/downloads-manager')
item = manager.find_element_by_css_selector('body/deep/downloads-item')
shadow = driver.execute_script('return arguments[0].shadowRoot;', item)
link = shadow.find_element_by_css_selector('div#title-area>a')

file_url = link.get_attribute("href")