我用硒和VB.Net在网页的文本框中插入一些文本,并在同一页面上按下确认按钮。该程序(几行代码)名为“chrome启动器“。
我一启动该程序,它就立即出现在访问网络的程序列表中,同时出现“chrome驱动程序“。
显然,“cromediver客户端“出现了,可是为什么我的也出现了?”chrome驱动程序“与程序位于同一文件夹中,为什么”chrome启动器“使用网络与它沟通?这样不是更明显吗?”selenium-管理器”,奇怪的是它并没有出现?
按照 pcalkins 的代码请求进行编辑:
Dim driver As ChromeDriver
Dim Options As New ChromeOptions
Options.AddUserProfilePreference("credentials_enable_service", False)
Options.AddUserProfilePreference("profile.password_manager_enabled", False)
Options.AddArgument("--window-position=-5000,0")
Options.AddArgument("start-maximized")
Options.AddArgument("--ignore-certificate-errors")
Options.AddExcludedArgument("--enable-automation")
Options.AddUserProfilePreference("profile.default_content_setting_values.images", 2)
Dim DriverService = ChromeDriverService.CreateDefaultService
DriverService.HideCommandPromptWindow = True
driver = New ChromeDriver(DriverService, Options)
driver.Navigate().GoToUrl(MyUrl)
driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10)
Dim TextBox = driver.FindElement(By.Id("caringEmail"))
TextBox.SendKeys(UserTxt)
Dim submitButton = driver.FindElement(By.ClassName("ta-button"))
submitButton.Click()
chrome启动器是一个非常简单的程序,它询问一次Selenium 在 MyUrl Html 网页上插入一些文本并按下按钮:为什么会出现在网络程序列表中?Selenium 文件位于程序文件夹中,还有 chromedriver.exe!
注意:如果我在之后注释掉所有代码
driver.Navigate().GoToUrl(MyUrl)
...该程序仍然出现在网络程序列表中(???)为什么如果我写:
Process.Start(MyUrl)
不是...强制 chromestarter.exe 通过网络发送数据的区别在哪里?
答案1
这可能是因为 Chrome Devtools 协议(CDP)和/或“BIDI”协议,Selenium 可以使用它们通过 socks 通道直接与浏览器通信。 https://www.selenium.dev/documentation/webdriver/bidirectional/