【发布时间】:2019-04-12 03:34:55
【问题描述】:
我正在尝试使用 selenium 和 python 在 chrome 上下载 pdf。 一种方法是打开 chrome 中的设置。
我尝试在我的代码开头使用 selenium 来做到这一点
driver.get('chrome://settings/content/pdfDocuments')
time.sleep(5)
driver.find_element_by_id('bar').click()
但总是出错。如果我尝试与此窗口中的所有内容进行交互,则相同
Traceback (most recent call last):
File "test_selenium.py", line 37, in <module>
driver.find_element_by_id('knob').click()
File "/usr/local/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 360, in find_element_by_id
return self.find_element(by=By.ID, value=id_)
File "/usr/local/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 978, in find_element
'value': value})['value']
File "/usr/local/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "/usr/local/lib/python3.6/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"id","selector":"bar"}
(Session info: chrome=70.0.3538.77)
(Driver info: chromedriver=2.40,platform=Linux 4.18.10-100.fc27.x86_64 x86_64)
感谢您的帮助
【问题讨论】:
-
使用 UI 自动化更改此值的一种可能更快的替代方法可能是通过 ChromeOptions 使用 Print To PDF Chrome Command Line Switch(或某些相关开关),如以下答案所示:stackoverflow.com/a/36879734/2291928
标签: python selenium google-chrome pdf download