python selenium在ubuntu服务器上访问网页报403错误

python selenium在Ubuntu服务器上访问页面报403错误
经过排查得出

        self.chrome_opts.add_argument("start-maximized")
        self.chrome_opts.add_argument("enable-automation")
        self.chrome_opts.add_argument("--disable-infobars")
        self.chrome_opts.add_argument("--disable-dev-shm-usage")
        self.chrome_opts.add_argument('--no-sandbox')
        self.chrome_opts.add_argument("--disable-browser-side-navigation")
        self.chrome_opts.add_argument("--headless")
        self.chrome_opts.add_argument('window-size=1920x1080')
        self.chrome_opts.add_argument('--disable-gpu')

在Windows中 注释了–headless 则可以正常访问,不注释则报403错误。
但是在Ubuntu服务器上不能注释,所以我们在代码中添加

        self.uer_agent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36'
        self.chrome_opts.add_argument('user-agent=%s'%self.uer_agent

即可。

self.chrome_opts = webdriver.ChromeOptions()
        self.chrome_opts.add_argument("start-maximized")
        self.chrome_opts.add_argument("enable-automation")
        self.chrome_opts.add_argument("--disable-infobars")
        self.chrome_opts.add_argument("--disable-dev-shm-usage")
        self.chrome_opts.add_argument('--no-sandbox')
        self.chrome_opts.add_argument("--disable-browser-side-navigation")
        self.chrome_opts.add_argument("--headless")
        self.chrome_opts.add_argument('window-size=1920x1080')
        self.chrome_opts.add_argument('--disable-gpu')
        ##加入这个防止ubuntu服务器打开网页403
        self.uer_agent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36'
        self.chrome_opts.add_argument('user-agent=%s'%self.uer_agent)
        self.path = os.getcwd()
        ##下载模块,下载到指定文件且不报错
        prefs = {"download.prompt_for_download": False, 'download.default_directory': r'{}/exe'.format(self.path)}
        self.chrome_opts.add_experimental_option('prefs', prefs)
        self.driver = webdriver.Chrome("./chromedriver.exe", chrome_options=self.chrome_opts)
        # self.driver = webdriver.Chrome("./chromedriver.exe", chrome_options=self.chrome_opts)
        self.driver.command_executor._commands["send_command"] = ("POST", '/session/$sessionId/chromium/send_command')
        params = {'cmd': 'Page.setDownloadBehavior',
                  'params': {'behavior': 'allow', 'downloadPath': r"{}/exe".format(self.path)}}
        self.driver.execute("send_command", params)
        self.driver.implicitly_wait(30)
        self.driver.maximize_window()
        self.base_url = "http://www.huobiao.cn/"
        self.driver.get(self.base_url)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值