AttributeError: 'Options' object has no attribute 'self' error using ChromeOptions for headless Google Chromethrough Selenium Python
AttributeError: 'Options' object has no attribute 'self' error using ChromeOptions for headless Google Chromethrough Selenium Python
所以我一直在努力让 chrome 工作好几天。我不知道怎么了!我已尝试在论坛中找到的与该问题相关的所有内容。
现在这是我 运行ning 的代码(它是从其他人的教程中直接摘录的,对他们来说效果很好):
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'
可能值得知道 chrome 驱动程序在正确的路径中,我知道这一点是因为当我 运行:
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()
这个很好用
有两种截然不同的方法。如果您正在使用:
options = webdriver.ChromeOptions()
仅使用:
from selenium import webdriver
足够了。
但如果您使用以下导入:
from selenium.webdriver.chrome.options import Options
您必须使用 Options()
的实例将 headless
属性 设置为 True
,如下所示:
options = Options()
options.headless = True
driver = webdriver.Chrome(executable_path=r"./chromedriver", options=options)
所以我一直在努力让 chrome 工作好几天。我不知道怎么了!我已尝试在论坛中找到的与该问题相关的所有内容。
现在这是我 运行ning 的代码(它是从其他人的教程中直接摘录的,对他们来说效果很好):
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'
可能值得知道 chrome 驱动程序在正确的路径中,我知道这一点是因为当我 运行:
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()
这个很好用
有两种截然不同的方法。如果您正在使用:
options = webdriver.ChromeOptions()
仅使用:
from selenium import webdriver
足够了。
但如果您使用以下导入:
from selenium.webdriver.chrome.options import Options
您必须使用 Options()
的实例将 headless
属性 设置为 True
,如下所示:
options = Options()
options.headless = True
driver = webdriver.Chrome(executable_path=r"./chromedriver", options=options)