Tôi đang cố gắng sử dụng phiên bản mới (2016) không đầu của Chromium với Selenium/ChromeDriver (Trước đây, tôi đã sử dụng Firefox với xfvb nhưng điều này hứa hẹn sẽ là tốt hơn nhiều).Selenium ChromeDriver không nhận dạng được Headless Chromium (Python) mới được biên soạn
tôi đã biên soạn một phiên bản không đầu của Chromium từ các nguồn (tôi không tìm thấy bất kỳ mã nhị phân được xây dựng trước) dựa trên hướng dẫn tôi tìm thấy here và sau đó tôi đã sử dụng đoạn mã sau để khởi động nó thông qua Selenium:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
l_option = Options()
l_option.add_argument('headless')
l_option.add_argument('disable-notifications')
l_option.binary_location = '/home/fi11222/Headless_Chromium/headless_shell'
l_driver = webdriver.Chrome(chrome_options=l_option)
cùng mã làm việc với crom tiêu chuẩn (nếu tôi loại bỏ các binary.location
tùy chọn)
Như là, tuy nhiên, tôi nhận được lỗi sau:
selenium.common.exceptions.WebDriverException: Message: unknown error: unrecognized Chrome version: HeadlessChrome/59.0.3032.0
(Driver info: chromedriver=2.27.440175 (9bc1d90b8bfa4dd181fbbf769a5eb5e575574320),platform=Linux 4.4.0-53-generic x86_64)
Rõ ràng, nhị phân crom không đầu được biên dịch bằng ID phiên bản mà ChromeDriver không nhận ra. Cứu giúp !!
Môi trường:
- Compilation: Ubuntu 16,04 máy chủ
- thực hiện Selenium: Linux Mint 18,1
Kiểm tra phiên bản Chrome được hỗ trợ của trình điều khiển chrome của bạn. Tôi đọc nó hỗ trợ Chrome 54 đến 56 trong khi chrome không đầu của bạn là 59. Hãy thử cài đặt phiên bản chrome trước đây – BangTheBank
Tôi không thể. Bởi vì các phiên bản trước 59 dường như không hỗ trợ chế độ không đầu. Tính năng này chỉ bắt đầu từ giữa năm 2016. Btw, làm cách nào để biết phiên bản Chrome Webdriver cụ thể hỗ trợ? – fi11222
Ngoài ra, tôi đã kiểm tra trong Nguồn ChromeDriver. Có vẻ như không có phiên bản tối đa, chỉ có tối thiểu, bây giờ là 55. Vì vậy, vấn đề nằm ở nơi khác. – fi11222