如何解决在不关闭 VB.Net Selenium Chrome 窗口的情况下转到同一窗口中的不同网页
尊敬的论坛成员。
使用下面的代码,我可以使用 selenium 打开 chrome 网络浏览器并转到我想要的互联网地址。我只有一个问题。当我点击 button1 时,chrome 窗口打开并转到 http://google.com/。当我在驱动程序打开时单击 button2 时,它会运行一个单独的 Chrome 驱动程序并转到 yahoo。这就是我想要的打开第一个 chrome 窗口并输入 google 后,当我单击 BUTTON2“不打开新的 Chrome”时,我希望它从现有的 Chrome 窗口转到 yahoo.com .. 我找不到代码。我想在不关闭当前 chrome 引擎的情况下转到另一个链接。我在哪里犯了错误?我请求你的帮助。尊重。
Imports OpenQA.Selenium
Imports OpenQA.Selenium.Chrome
Imports OpenQA.Selenium.Support.UI
Imports System.Text
Public Class Form1
Private Sub Button1_Click(sender As Object,e As EventArgs) Handles Button1.Click
Dim driver As IWebDriver
driver = New ChromeDriver()
driver.Navigate().GoToUrl("http://google.com/")
End Sub
Private Sub Button2_Click(sender As Object,e As EventArgs) Handles Button2.Click
Dim driver As IWebDriver
driver = New ChromeDriver()
driver.Navigate().GoToUrl("http://yahoo.com/")
End Sub
End Class
解决方法
您可能应该使用 driver
的共享实例,它会重用您在按下第一个按钮时创建的现有实例。
这段未经测试的代码展示了它是如何工作的:
Public Class Form1
Dim driver As IWebDriver
Private Sub DoNavigate(address As String)
If (driver Is Nothing) Then
driver = New ChromeDriver()
End If
driver.Navigate().GoToUrl(address)
End Sub
Private Sub Button1_Click(sender As Object,e As EventArgs) Handles Button1.Click
DoNavigate("http://google.com/")
End Sub
Private Sub Button2_Click(sender As Object,e As EventArgs) Handles Button2.Click
DoNavigate("http://yahoo.com/")
End Sub
End Class
按钮现在都调用 DoNavigate
以引起 URL 更改。
DoNavigate
函数:
- 检查是否已创建
driver
。 - 如果尚未创建,则创建
driver
。 - 导航到指定的
address
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。