Python Selenium Headless Chrome [duplikat]

Dec 11 2020

Saya mencoba membuat chrome tanpa kepala berfungsi dan saya tidak bisa membuatnya berfungsi. Saya membuat file uji yang berfungsi:

from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_argument("--headless")

driver = webdriver.Chrome("C:\Program Files (x86)\chromedriver.exe" , chrome_options=options)
driver.get('http://www.google.com')
print(driver.title)

itu berfungsi tetapi juga menghasilkan kesalahan:

C:/Users/kgood/PycharmProjects/pythonProject1/Unknown.py:6: DeprecationWarning: use options instead of chrome_options
  driver = webdriver.Chrome("C:\Program Files (x86)\chromedriver.exe" , chrome_options=options)

Saya bisa hidup dengan kesalahan yang saya kira karena itu membuka tanpa kepala, mendapatkan Chrome, mencetak judul seperti yang saya minta, tetapi ketika saya menempelkan ini ke proyek utama saya, itu masih membuka jendela, jendelanya kosong, dan itu hanya duduk di sana sebagai jendela kosong sampai selesai dijalankan. Ada ide apa yang terjadi? Inilah awal dari kode proyek saya:

from selenium import webdriver
from selenium.webdriver import Chrome
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.keys import Keys
import time

PATH = "C:\Program Files (x86)\chromedriver.exe"
driver = webdriver.Chrome(PATH)
options = webdriver.ChromeOptions()
options.add_argument("--headless")

# gets the website
driver = webdriver.Chrome("C:\Program Files (x86)\chromedriver.exe" , chrome_options=options)
driver.get("https://www.legacyhomesal.com/pennington-freedom-series-richmond-ii")

# finds the Base Price header
price = driver.find_element_by_xpath("//h3[@class='ng-binding']")
print(price.text)

# converts the string to integer
p = price.text[12::]
r = int(p.replace(',', ''))
driver.close()

Saya telah mencoba berbagai cara untuk melakukan ini tetapi hanya yang di atas, cukup berhasil:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_argument('--headless')
options.add_argument('--disable-gpu')  # Last I checked this was necessary.
driver = webdriver.Chrome(CHROMEDRIVER_PATH, chrome_options=options)

dan

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.headless = True
driver = webdriver.Chrome(CHROMEDRIVER_PATH, chrome_options=options)

Jawaban

2 PDHide Dec 11 2020 at 09:54
driver = webdriver.Chrome(options=options)

kesalahan dengan benar mengatakan apa artinya, gunakan options = your_optiondaripadachrome_options = your_option

1 dachil1pil1 Dec 11 2020 at 11:34

Kemungkinan besar ada jendela kosong karena Anda memanggil "driver" dua kali tetapi yang pertama tidak memiliki url sehingga hanya kosong. saya akan menyingkirkan variabel driver pertama.