Ubantu系统Selenium安装WebDriver

1.首先安装Chrome浏览器和chromedriver

参考这篇文章

(24年4月2日更新)Linux安装chrome及chromedriver(Ubuntu20.04&16.04)_linux安装chromedriver-CSDN博客

记得要给chromedriver添加权限

sudo chmod a+x /usr/bin/chromedriver     路径填自己实际的路径

2.编写selenium.webdriver相关代码

这里为了直接使用方便,Chrome浏览器和Chromedriver驱动,直接在代码中以绝对路径的形式写上。

整体的代码在最后,可以参考哦!

2.1 怎么查找Chrome安装的路径或者Chromedriver安装的路径

使用whereis 软件名 进行查看

参考链接:如何查找Linux系统中软件的安装位置? (linux查询软件位置) – 后浪云

3.遇到的问题

3.1WebDriverException: Message: unknown error: cannot find Chrome binary

解决方法:

WebDriverException: Message: unknown error: cannot find Chrome binary解决方法-CSDN博客

3.2 ChromeDriver is assuming that Chrome has crashed

解决方法:

ChromeDriver is assuming that Chrome has crashed 一直无法打开,总是崩溃_so chromedriver is assuming that chrome has crashe-CSDN博客

4.DriverConfig整体的代码

DriverConfig类是对浏览器驱动配置类进行了封装,之后在别的地方使用的时候调用这个类就行。

class DriverConfig:
    @staticmethod
    def driver_config():
        """
        浏览器驱动
        :return:
        """
        options = webdriver.ChromeOptions()
        options.add_argument('--no-sandbox')
        options.add_argument('--disable-dev-shm-usage')
        options.add_argument('--disable-extensions')
        options.add_argument('--headless')
        options.add_argument("disable-infobars")
        # 设置窗口大小
        options.add_argument("window-size=1920,1080")
        # 无头模式
        # options.add_argument('--headless')
        # 解决卡顿
        options.add_argument("--disable-gpu")
        options.add_argument("--no-sanbox")
        options.add_argument('--disable-dev-shm-usage')
        # 解决selenium无法访问https的问题
        options.add_argument("--ignore-certificate-errors")
        options.add_argument("--allow-insecure-localhost")
        # 无痕模式
        options.add_argument("--incognito")
        # 去除"chrome正受到自动测试软件的控制"
        options.add_experimental_option(
            "excludeSwitches", ["enable-automation"]
        )
        options.binary_location = "/opt/google/Chrome/chrome"
        # 驱动的选项是这样的
        chromedriver_path = "/root/eee/chromedriver-linux64/chromedriver"
        #driver_path = ChromeDriverManager().install()
        driver = webdriver.Chrome(service=Service(executable_path=chromedriver_path),options=options)
        # 删除所有cookies
        driver.delete_all_cookies()
        # # 隐性等待时间
        # driver.implicitly_wait(3)
        # # 删除所有cookies
        # driver.delete_all_cookies()
        return driver


if __name__ == "__main__":
    DriverConfig().driver_config()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值