【问题标题】:selenium chromedriver browser not open after publish发布后 selenium chromedriver 浏览器无法打开
【发布时间】:2018-10-02 01:29:52
【问题描述】:

在我的 MVC Web 应用程序中,我使用 selenium C# Web 驱动程序从 HTML 文件中读取一些数据。当我通过 VS(通过 chrome 打开 HTML 文件并正确读取 HTML)执行我的应用程序时,我的应用程序可以正常工作。但是在我在 IIS 服务器 HTML 文件中发布和托管应用程序后,无法通过 chrome 浏览器打开。 (浏览器打不开),这是我的代码。

public class CribController : Controller
{
    public ActionResult Index()
    {
        try
        {

        IWebDriver driver = new ChromeDriver(@"C:\Selenium\");

        driver.Navigate().GoToUrl("D:/Crib/toEdit_Foramted V2.html");
        string text = driver.Title;

        var table = driver.FindElement(By.Id("reportcontainerstyle-Ver2"));
        var rowsss = table.FindElements(By.TagName("tr"));

        //To get days arrears details
        var mainTable = driver.FindElement(By.Name("ConsumerCreditDetails_Version3"));
        var subTables = mainTable.FindElements(By.Id("bandstyle-Ver2"));

            var rows = driver.FindElements(By.XPath("//table[.//td[normalize-space(.)='Credit Facility (CF) Details']][1]/following-sibling::table[1]//tr[not(@type='table-header')]"));

            foreach (IWebElement row in rows)
            {
                //Some logic here
            }
            Thread.Sleep(3000);
            driver.Close();
        }
        catch (Exception ex)
        {
            Logger.LogWriter("WebApplication2.Controllers", ex, "CribController", "Index");
            Console.WriteLine(ex);
        }
        return View();
    }
}

为什么这在发布后不起作用。我该如何解决这个问题?

【问题讨论】:

    标签: c# asp.net-mvc selenium selenium-webdriver selenium-chromedriver


    【解决方案1】:

    我认为我们需要更多关于它引发的错误的背景信息。

    Selenium GitHub Repository 有一个类似的问题,这是https://github.com/seleniumhq/selenium/issues/1125#issuecomment-257258747的回复

    您可以像这样声明驱动程序:

    var driverService = ChromeDriverService.CreateDefaultService();
    driverService.HideCommandPromptWindow = true;
    var options = new ChromeOptions();
    options.AddArguments(new List<string> { { "start-maximized" } });
    IWebDriver driver;
    driver = new ChromeDriver(driverService, options);
    

    其他可能有帮助的方法是:在同一个解决方案中,尝试为 Selenium 代码和执行创建一个控制台应用程序,从(MVC 项目的)控制器调用其构造函数。

    【讨论】:

      猜你喜欢
      • 2021-06-10
      • 1970-01-01
      • 2018-02-01
      • 1970-01-01
      • 2021-08-28
      • 1970-01-01
      • 2016-10-12
      • 2017-08-01
      相关资源
      最近更新 更多