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

Selenium IWebDriver Navigate()。GoToUrl()未输入url或导航到页面

宣滨海
2023-03-14

我正在创建一个新的测试项目,想不出其他任何东西来尝试解决我的问题。我还有另一个Selenium项目,它按预期工作,并比较了两者以找出差异。但首先,我遇到的主要问题。在设置中,我调用驱动程序导航()。GoToUrl(“www.test.com”);不会引发任何异常或其他任何指示存在问题的内容,流只会移动到下一个语句,但导航栏中不会输入 Url,因此显然驱动程序永远不会导航到任何页面。驱动程序确实启动了一个新的 firefox 实例,但它保持空白。

当我将这个新项目与一个已经工作的项目进行比较时,它们在大多数情况下似乎是相同的。这两个项目都有...\包\硒.Web驱动程序.2.37.0

--不工作的项目...\packages\Selenium.WebDriver.2.37.0\lib\net40\WebDriver.dll ..\软件包\硒.Support.2.37.0\lib\net40\Web驱动程序.Support.dll

两个项目都不做任何其他事情。两者的构造函数都只是调用:var WebDriver=new FirefoxDriver();

当我检查WebDriver对象时,我能看到的唯一区别是WindowsHandles属性。工作项目具有:WindowsHandles Count = 1

非工作项目具有:WindowsHandles {System.Collections.ObjectModel.只读收集}

我不知道它们为什么不同,但这是我能找到的唯一不同,我想这可能就是问题所在,但我不知道是否真的如此,也不知道我会如何解决它。我在WebDriver周围添加了一个try/catch块。导航()。GoToUrl()并且没有异常被捕获。< br >这两个项目都针对。NET 4.0框架。任何帮助都是非常必要的。

共有3个答案

籍弘伟
2023-03-14

而且

navigate.GoToUrl("http:\\www.microsoft.com"); // "\\" instead of "//", wont work
navigate.GoToUrl("http://www.microsoft.com"); // that one works perfectly.

用反斜杠而不是正斜杠也不行……我花了大约一个小时才弄清楚。

URL地址,正确的必须是正斜杠。

唐珂
2023-03-14

下面是一个简单的示例:

>

  • 添加NuGet包Selenium.WebDriver

    从 http://www.seleniumhq.org/download/ 下载铬驱动程序 (https://sites.google.com/a/chromium.org/chromedriver/) 或任何其他驱动程序(“非硒化物开发的第三方浏览器驱动程序”部分)

    将文件复制到Visual Studio中的项目目录,并为文件设置以下属性:

    构建操作 = 无;复制到输出目录 = 如果较新,则复制

    安装后,尝试运行以下示例代码:

    var driver = new ChromeDriver();
    var navigate = driver.Navigate();
    navigate.GoToUrl("http://www.microsoft.com"); //works
    navigate.GoToUrl("www.microsoft.com"); //does not work
    

    祝你好运!

  • 阴宏爽
    2023-03-14

    我终于崩溃了,决定在StackOverflow上发帖。我的问题是IWebDrivers坚持使用以超文本传输协议开头的传入URL。一旦我用它作为URL的前缀,它就起作用了。

     类似资料:
    • Iam正在使用ionic应用程序编辑配置文件和查看配置文件。编辑编辑页面的详细信息后,它将导航到查看配置文件页面。 我希望在导航后刷新查看配置文件页面。 这是editprofile.ts代码: 首先我用下面的导航 通过谷歌搜索,我添加了这个来在导航后刷新视图配置文件 现在发生的是,首先它被重定向到查看个人资料页面,并且没有刷新,它直接重定向到主页,主页被刷新。 请帮助我如何在从“编辑配置文件”页面

    • 我正在创建一个简单的Angular项目,其中包含两个组件:home和convender。我的 app-routing.module.ts 看起来像这样: 在我的浏览器中,如果我将路径更改为/submit,页面看起来会重新加载,然后默认返回到/home。我已经尝试将路径“”更改为路径:“**”。它不会导航到提交组件。知道我做错了什么吗? 角度 8.2.14 谷歌浏览器

    • 我已使用此(react router 2.0)在路由器上设置了browserHistory: 然后,我尝试使用react router中的browserHistory以编程方式从视图(ala: 这将URL更改为 /map但不会呈现该路由中的组件。我做错了什么?

    • 问题内容: 我正在尝试为我的Java EE / JSF2应用程序实现正确的注销。 它需要两件事: 我需要从JAAS中注销并使会话无效 然后,我必须导航到外部URL以触发Siteminder注销 Siteminder注销URL(在策略服务器上配置->我无法更改)在应用程序上下文之外。例如。如果我的Web应用程序URL为https:// localhost:8080 / sm / MyWebApp,

    • 我有以下问题我搞不清楚。我有一个带有ListView的pageControl。列表有一个项目模板设置,我正在从js脚本绑定列表。当我单击该项目以导航到另一个PageControl时,我添加了一个事件处理程序。事件启动,但当我执行winjs.navigation.navigate时,第二个页面没有加载。 第1页HTML: 第1页JS:

    • 我有两个页面:home.jsp和stylechoosertable.jsp。jsp有一个指向stylechoosertable.jsp的简单链接。两者都在src-main-webapp-views中。启动应用程序运行良好,加载home.jsp也很好。然而,当我点击链接时,它会转到一个404未找到的页面。 下面是HomeController.java > 仅本地:8080/MySpringMVC/打