当前位置: 首页 > 知识库问答 >
问题:

Selenium测试中Chromedriver未加载页面

夔波
2023-03-14

但是,对于以下所有使用chromedriver的测试,浏览器都不能成功导航到URL。

浏览器启动,瞬间显示字符数据;出现在地址栏中(就像第一个测试中一样),然后将正确的URL插入到地址栏中。但是,页面永远不会加载,你得到了标准的chrome这个网页不可用的消息,在浏览器的正文/画布上有两个按钮reload和更多。

这是已知的问题吗?

ChromeDriverService chromeDriverService = ChromeDriverService.CreateDefaultService(DriverPath);
var chromeOptions = new ChromeOptions();

chromeDriverService.Port = DriverPort; // 9999 - this is the port for the driver, not the webpage 

webDriver = new ChromeDriver(chromeDriverService, chromeOptions);
webDriver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10));
webDriver.Manage().Timeouts().SetScriptTimeout(TimeSpan.FromSeconds(10)); 
TestDriver.CloseWindow();  
TestDriver.Quit();

以下异常将被删除:

NosuchWindowException:没有这样的窗口:目标窗口已经关闭

让我知道如果我可以提供更多的信息。

Selenium Google users组的一个用户建议在一个非常简单的场景中使用webdriver复制这个bug(即,不作为测试框架的一部分)。下面是我创建的控制台应用程序的代码:

private static string Url = "http://localhost:5556";

static void Main(string[] args)
{
    var chromeWebDriver = GetChromeWebDriver();
    var nav = chromeWebDriver.Navigate();
    nav.GoToUrl(Url);
    Thread.Sleep(3000);
    chromeWebDriver.Quit();
    chromeWebDriver.Dispose();

    var iedriver = GetIeDriver();
    var nav1 = iedriver.Navigate();
    nav1.GoToUrl(Url);
    iedriver.Quit();
    iedriver.Dispose();

    var chromeWebDriver2 = GetChromeWebDriver();
    var nav2 = chromeWebDriver2.Navigate();
    nav2.GoToUrl(Url);
    chromeWebDriver2.FindElement(By.LinkText("Login")).Click();

    System.Threading.Thread.Sleep(2000);

    chromeWebDriver2.Quit();
    chromeWebDriver2.Dispose();

    Console.ReadLine();
}

private static IWebDriver GetIeDriver()
{
    InternetExplorerDriverService internetExplorerDriverService =
        InternetExplorerDriverService.CreateDefaultService(
            @"H:\BW\packages\Selenium.WebDriver.IEDriver.2.41.0.1\content");
    InternetExplorerOptions internetExplorerOptions = new InternetExplorerOptions();
    internetExplorerDriverService.Port = 9999;
    IWebDriver webdriver = new InternetExplorerDriver(internetExplorerDriverService, internetExplorerOptions);
    return webdriver;
}

private static IWebDriver GetChromeWebDriver()
{
    var chromeDriverService =
        ChromeDriverService.CreateDefaultService(
            @"H:\BW\packages\Selenium.WebDriver.ChromeDriver.2.10.0.0\content");
    var chromeOptions = new ChromeOptions();
    chromeDriverService.Port = 7777;
    IWebDriver chromeWebDriver = new ChromeDriver(chromeDriverService, chromeOptions);
    return chromeWebDriver;
}

共有1个答案

姚实
2023-03-14

试试这个代码。它很简单,它会解决你的问题。

if(browserType.equals("googleChrome")==true)
{

    System.setProperty("webdriver.chrome.driver", System.getProperty("user.dir")+"\\autoItfiles\\chromedriver.exe");
    driver = new ChromeDriver();

    Report.info("Google chrome browser is opened ");                
}

//关闭浏览器实例。不要使用close()方法,除了Firefox以外,其他方法都不起作用

Driver.quit();

 类似资料:
  • 我试图使用一个带有selenium的无头chrome浏览器,它也绕过了机器人检测测试,目前使用以下项目https://github.com/ultrafunkamsterdam/undetected-chromedriver每次我试图实现代码时,它都不能识别驱动程序。以下是您了解的链接 这是代码 好吧,当我运行程序时,我在终端中得到以下内容

  • 使用geckodriver和Firefox的无头和无头(有头??)版本 将chromedriver与Chrome的无头和无头版本一起使用 检查了pip3和Selenium是否都是最新的稳定版本 使用用户代理配置文件打开Chrome 使用随机用户代理配置文件(来自random_user_agent库)打开Chrome 硬编码最多等待30秒(time.sleep) 在请求中加载页面(事后看来,如果我在

  • 我最初想让一个无头浏览器运行来动态解析一个网页。我一直有一系列的问题与此,即使在添加了等待允许网站加载。在注释掉headless选项后,我使用xming服务器作为网页的显示器,查看浏览器创建后的实际外观。 下面是我看到的屏幕截图:chrome中有一个新的选项卡,而浏览器似乎从未访问过.get()。我还会弹出“Chrome Automation Extension已经崩溃了...” 我搜索了很多,有

  • 问题内容: 我正在尝试以编程方式测试网站列表的加载时间。目的是大致模拟用户将感知的页面加载时间。 我的第一种方法是在循环内调用以下代码: 问题是有时我会在页面真正加载之前得到时间结果(即,我得到50ms次),所以我猜想控件在完成之前会交给下一条指令。 我应该怎么做才能改善这项测试? 编辑: 正如user1258245建议的那样,我可以等待元素加载,但是问题是我不知道哪些页面需要预先加载。 问题答案

  • 好的——问题似乎已经解决——请参阅下面的工作解决方案。 问题= 我查询的元素是谷歌广告部门,我想确保我们在所有平台上都提供广告。加载是异步的,所以我要确保等待页面加载。 当我从ruby shell(irb)手动驱动selenium时,我总是能够在IE版本9、10、11中找到元素。当我手动导航到浏览器堆栈的“Live”浏览器内IE仿真中的站点时也是如此。 但是——当我通过RSpec以编程方式运行与s

  • 根据这些文件,可以使用以无头模式启动Chrome以导出网页的PDF格式。这对于通过请求访问的页面很好。 试图找到一个打印到PDF的解决方案,这将允许我导出一个PDF后,执行多个导航请求从Chrome。示例:打开,输入搜索查询,单击第一个结果链接,导出到PDF。 看着(数量非常有限的)文档和样本,我没能找到一种方法来指示Chrome在页面加载后导出PDF。我正在使用Java的。 一个不涉及Chrom