Python Selenium Headless Chrome [Duplikat]
Ich versuche, kopfloses Chrom zum Laufen zu bringen, und ich kann es einfach nicht zum Laufen bringen. Ich habe eine Testdatei erstellt, die funktioniert:
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)
es funktioniert aber erzeugt auch einen Fehler:
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)
Ich kann mit dem Fehler leben, den ich nehme, weil er sich kopflos öffnet, Chrome erhält und den Titel wie gewünscht druckt, aber wenn ich ihn in mein Hauptprojekt einfüge, öffnet er immer noch ein Fenster, das Fenster ist leer und es ist einfach sitzt dort als leeres Fenster, bis es fertig ist. Irgendwelche Ideen, was los ist? Hier ist der Anfang meines Projektcodes:
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()
Ich habe verschiedene Möglichkeiten ausprobiert, aber nur die oben genannte funktioniert irgendwie:
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)
und
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.headless = True
driver = webdriver.Chrome(CHROMEDRIVER_PATH, chrome_options=options)
Antworten
driver = webdriver.Chrome(options=options)
Der Fehler sagt richtig, was es bedeutet, verwenden options = your_option
alschrome_options = your_option
Es gibt höchstwahrscheinlich ein leeres Fenster, da Sie zweimal "Treiber" aufrufen, das erste jedoch keine URL hat und daher nur leer ist. Ich würde die erste Treibervariable loswerden.