【问题标题】:Error using Selenium Chrome Webdriver with C#将 Selenium Chrome Webdriver 与 C# 一起使用时出错
【发布时间】:2020-12-16 00:18:22
【问题描述】:

我使用 Selenium Chrome Webdriver 制作了一个程序。我从一个已知的网站上获取了文本。当它工作并测试了几天时,它完美无缺。但是有一天使用相同的代码运行它时出现此错误“System.InvalidOperationException:'未创建会话:此版本的 ChromeDriver 仅支持 Chrome 版本 83 (SessionNotCreated)' "

它说错误在这行代码上: driver = new ChromeDriver(options);

我有来自 Selenium 的最新更新,但 Visual Studio 版本是 Chrome WebDriver 的 83.0.0,我的 Chrome 版本是 85.0.4183.83。 我该怎么办?

这是我的代码:

    using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Http;
using System.Threading.Tasks;
using HtmlAgilityPack;
using System.Security.Cryptography;
using OpenQA.Selenium;
using OpenQA.Selenium.Support.UI;
using OpenQA.Selenium.Chrome;

public static class Program
    {


        public static void Main()
        {

            IWebDriver driver;
            
            var options = new ChromeOptions();
            options.AddArgument("headless");
            options.AddArgument("--disable-gpu");
            
            
            driver = new ChromeDriver(options);
            driver.Navigate().GoToUrl("");
            string currentDay = DateTime.Today.DayOfWeek.ToString();
            System.Threading.Thread.Sleep(5000);
            switch(currentDay)
            {
            case "Monday":
                var MondayFood = driver.FindElement(By.XPath("/html/body/main/article/section[1]/div/div[1]/div[2]/div[2]/div/div/div[1]/ul/li[1]/p[1]/span[2]"));
                System.Console.WriteLine(MondayFood.Text);

                break;

            case "Tuesday":
                var TuesdayFood = driver.FindElement(By.XPath("/html/body/main/article/section[1]/div/div[1]/div[2]/div[2]/div/div/div[2]/ul/li[1]/p[1]/span[2]"));
                System.Console.WriteLine(TuesdayFood.Text);
                break;

            case "Wednesday":
                var WednesdayFood = driver.FindElement(By.XPath("/html/body/main/article/section[1]/div/div[1]/div[2]/div[2]/div/div/div[3]/ul/li[1]/p[1]/span[2]"));
                System.Console.WriteLine(WednesdayFood.Text);
                break;

            case "Thursday":
                var ThursdayFood = driver.FindElement(By.XPath("/html/body/main/article/section[1]/div/div[1]/div[2]/div[2]/div/div/div[4]/ul/li[1]/p[1]/span[2]"));
                System.Console.WriteLine(ThursdayFood.Text);
                break;

            case "Friday":
                var FridayFood = driver.FindElement(By.XPath("/html/body/main/article/section[1]/div/div[1]/div[2]/div[2]/div/div/div[5]/ul/li[1]/p[1]/span[2]"));
                System.Console.WriteLine(FridayFood.Text);
                break;
                
            }

        System.Console.ReadLine();
             
        
        
    }

        

    }

【问题讨论】:

标签: c# selenium google-chrome selenium-webdriver


【解决方案1】:

首先,按照以下说明检查您的 Chrome 版本:

  1. 单击窗口右上角的三个点。
  2. 将光标悬停在“帮助”上。
  3. 点击“关于谷歌浏览器”。 您的 Google Chrome 浏览器版本将显示在屏幕顶部的下一个窗口中。

然后下载匹配的chrome webdriver版本。 通过此链接: https://chromedriver.chromium.org/downloads

【讨论】:

    【解决方案2】:

    您的 chrome 网络驱动程序版本需要与您的 PC 上安装的 google chrome 版本相匹配。

    请使用以下链接下载chromedriver。

    chromedriver

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-17
      • 1970-01-01
      • 2014-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-09
      相关资源
      最近更新 更多