springboot+webmagic+ChromeDriver

private void doLogin(Page page, String baseUrl) {
        try {
            String username = "userName";
            String password = "passWord";
            // 设置chrome选项
            ChromeOptions options = new ChromeOptions();
            options.addArguments("--headless");// 这里设置为不打开浏览器访问页面
            options.addArguments("--incognito");// 隐身模式(无痕模式)
            ChromeDriver driver = new ChromeDriver(options);
            driver.get(baseUrl);
            //等待加载完成
            driver.manage().timeouts().implicitlyWait(Duration.ofMillis(TimeUnit.SECONDS.toMillis(30)));
            WebElement goin = driver.findElement(By.id("goin"));
            goin.click();
            // 获取页面元素
            WebElement elemUsername = driver.findElement(By.name("username"));
            WebElement elemPassword = driver.findElement(By.name("password"));
            // 操作页面元素
            elemUsername.clear();
            elemPassword.clear();
            elemUsername.sendKeys(username);
            elemPassword.sendKeys(password);
            WebElement login = driver.findElement(By.className("mem_login"));
            baseUrl = driver.getCurrentUrl();
            login.click();// 执行点击操作
          
        } catch (Exception e) {
            e.printStackTrace();
            System.exit(0);
        }
    }

异常:

Starting ChromeDriver 104.0.5112.79 (3cf3e8c8a07d104b9e1260c910efb8f383285dc5-refs/branch-heads/5112@{#1307}) on port 51116
Only local connections are allowed.
Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
ChromeDriver was started successfully.
org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Response code 500. Message: session not created: This version of ChromeDriver only supports Chrome version 104
Current browser version is 106.0.5249.103 with binary path C:\Program Files\Google\Chrome\Application\chrome.exe
Build info: version: '4.1.4', revision: '535d840ee2'
System info: host: 'DESKTOP-KLKMGLG', ip: 'xxx.xxx.xxx.xxx', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '11.0.15.1'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Command: [null, newSession {capabilities=[Capabilities {browserName: chrome, goog:chromeOptions: {args: [--headless, --incognito], extensions: []}}], desiredCapabilities=Capabilities {browserName: chrome, goog:chromeOptions: {args: [--headless, --incognito], extensions: []}}}]
	at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:126)

版本不一致,更换新的版本
下载地址
 

https://chromedriver.chromium.org/downloads

查看 谷歌浏览器 UserAgent

打开新的网页输入

chrome://version/

查看 用户代理 就为 UserAgent

 在Linux 部署时:

安装 chrome

 yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

安装 chromedriver

  在安装chromedriver之前,先查看自己系统装的chrome版本:

 google-chrome --version

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
chromedriver是一个用于控制Chrome浏览器的驱动程序,它可以与自动化测试工具(如Selenium)一起使用。在Mac上使用chromedriver,你需要下载适用于Mac的chromedriver版本,并将其配置到你的测试脚本中。 以下是使用chromedriver在Mac上进行自动化测试的步骤: 1. 下载chromedriver:你可以从官方网站(https://sites.google.com/a/chromium.org/chromedriver/)下载适用于Mac的chromedriver版本。确保选择与你的Chrome浏览器版本兼容的版本。 2. 将chromedriver添加到系统路径:将下载的chromedriver文件移动到一个你喜欢的位置,并将该位置添加到系统的PATH环境变量中。这样,你就可以在终端中直接运行chromedriver命令。 3. 在测试脚本中使用chromedriver:在你的自动化测试脚本中,你需要导入selenium库,并使用chromedriver来控制Chrome浏览器。以下是一个简单的示例: ```python from selenium import webdriver # 创建一个Chrome浏览器实例 driver = webdriver.Chrome() # 打开一个网页 driver.get("https://www.example.com") # 进行其他操作,如查找元素、点击按钮等 # 关闭浏览器 driver.quit() ``` 在这个示例中,我们使用webdriver.Chrome()创建了一个Chrome浏览器实例,并使用get()方法打开了一个网页。你可以在这个实例上执行其他操作,然后使用quit()方法关闭浏览器。 请注意,你可能还需要根据你的具体需求进行其他配置,例如设置Chrome浏览器的路径、添加浏览器选项等。你可以参考Selenium的文档(https://www.selenium.dev/documentation/en/webdriver/driver_requirements/)了解更多详细信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值