如何覆盖 Chrome 的 Selenium Headless 用户代理?

Geo*_*lis 1 python browser selenium

我有以下代码

import sys
from os import path
import os
import numpy as np
import pandas as pd
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

class DDDDDD(object):
    def __init__(self, date=None, path_to_save=None, chomedriver_exe_path=None, pred=True):
        self.pred = pred
        if chomedriver_exe_path is None:
            home = os.path.expanduser('~')
            self.chomedriver_exe_path = home + '/Downloads/chromedriver.exe'
        else:
            self.chomedriver_exe_path = chomedriver_exe_path
        self.driver = None

    def setup_driver(self):
        user_agent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36'
        chrome_options = Options()
        chrome_options.add_argument("headless") # --headless
        chrome_options.add_argument('--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36')
        chrome_options.add_argument("--window-size=1920x1080")
        chrome_driver = self.chomedriver_exe_path
        self.driver = webdriver.Chrome(chrome_options=chrome_options, executable_path=chrome_driver)
        return self.driver


ddddd = DDDDDD()
ddddd.setup_driver()

ddddd.driver.get("http://kluge.in-chemnitz.de/tools/browser.php")

ddddd.driver.save_screenshot('browser.png')
Run Code Online (Sandbox Code Playgroud)

我试图覆盖用户代理,因此我试图访问银行这个特定站点(自动下载个人交易数据)。我尝试过以下解决方案。

来源 1 来源 2

似乎没有一个起作用。我使用的测试网站的屏幕截图包含“无头”一词。有人可以帮我为 chrome 浏览器做这个吗?其他浏览器解决方案绝对可以接受,但我更喜欢 Chrome 浏览器。

小智 6

尝试这个:

chrome_options.add_argument('user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36')
Run Code Online (Sandbox Code Playgroud)