所以我一直在努力让无头Chrome工作了几天。我不知道是什么错了!!我已经尝试了我能在论坛上找到的所有与这个问题有关的东西。
现在这是我正在运行的代码(它是从别人的教程中直接摘录的,对他们来说很好):
from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
browser_name = "chrome"
if browser_name == 'chrome':
options = webdriver.ChromeOptions()
options.headless = True
driver = webdriver.Chrome(executable_path=r"./chromedriver", options=options)
start_url = "https://google.com"
driver.get(start_url)
print(driver.page_source.encode("utf-8"))
driver.quit()
字符串
当我运行该代码时,我收到以下错误
driver = webdriver.Chrome(executable_path=r"./chromedriver", options=options)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/selenium/webdriver/chrome/webdriver.py", line 64, in __init__
desired_capabilities = options.self.to_capabilities()
AttributeError: 'Options' object has no attribute 'self'
型
这可能是值得知道的chromedriver是在正确的路径,我知道这一点,因为当我运行:
browser_name = "chrome"
if browser_name == 'chrome':
driver = webdriver.Chrome(r"./chromedriver")
start_url = "https://google.com"
driver.get(start_url)
print(driver.page_source.encode("utf-8"))
driver.quit()
型
这工程罚款
2条答案
按热度按时间knpiaxh11#
有两种不同的方法。如果您使用:
字符串
仅使用:
型
就足够了。
但是如果你使用的是下面的导入:
型
必须使用
Options()
的示例将headless
属性设置为**True
**,如下所示:型
nhn9ugyo2#
我在使用Robot-Framework SeleniumLibrary打开浏览器时遇到了类似的错误:
字符串
显然,
options
参数是一个用;
分隔的字符串,不应该以;
结尾,比如:“-
一旦我删除了最后一个
;
,浏览器就启动了,并带有所需的选项。