1

だから私は何日もの間、ヘッドレスクロームを働かせようとしてきました。何が悪いのかわかりません!! この問題に関連するフォーラムで見つけることができるすべてを試しました。

現在、これは実行中のコードです(他の人のチュートリアルからの直接のスニペットであり、うまく機能します):

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()

これはうまくいきます

4

1 に答える 1

0

2 つの異なるアプローチがあります。使用している場合:

options = webdriver.ChromeOptions()

使用のみ:

from selenium import webdriver

十分なものです。


ただし、次のインポートを使用している場合:

from selenium.webdriver.chrome.options import Options

のインスタンスを使用して、次のようにプロパティOptions()を設定する必要があります。headlessTrue

options = Options()
options.headless = True
driver = webdriver.Chrome(executable_path=r"./chromedriver", options=options)
于 2020-11-18T14:54:15.653 に答える