Как скрыть консоль Selenium ChromeDriver в VB .NET - PullRequest
0 голосов
/ 19 марта 2019

Как преобразовать этот код C # в VB .NET? Я просто не могу понять.

var driverService = ChromeDriverService.CreateDefaultService();
driverService.HideCommandPromptWindow = true;
var driver = new ChromeDriver(driverService, new ChromeOptions());

или

var chromeDriverService = ChromeDriverService.CreateDefaultService();
chromeDriverService.HideCommandPromptWindow = true;
var option = new ChromeOptions();
option.AddArguments("--headless", "--no-sandbox", "--disable-web-security", "--disable-gpu", "--incognito", "--proxy-bypass-list=*", "--proxy-server='direct://'", "--log-level=3", "--hide-scrollbars");
driver = new ChromeDriver(chromeDriverService, options);

Я просто хочу скрыть консоль окна во время работы.

Ответы [ 2 ]

1 голос
/ 19 марта 2019

Вот преобразования, произведенные Telerik's Code Converter :

Dim driverService = ChromeDriverService.CreateDefaultService()
driverService.HideCommandPromptWindow = True
Dim driver = New ChromeDriver(driverService, New ChromeOptions())

... и

Dim chromeDriverService = ChromeDriverService.CreateDefaultService()
chromeDriverService.HideCommandPromptWindow = True
Dim [option] = New ChromeOptions()
[option].AddArguments("--headless", "--no-sandbox", "--disable-web-security", "--disable-gpu", "--incognito", "--proxy-bypass-list=*", "--proxy-server='direct://'", "--log-level=3", "--hide-scrollbars")
driver = New ChromeDriver(chromeDriverService, options)

- EDIT--

Вот исправленный код из вашего полного образца:

Imports OpenQA.Selenium
Imports OpenQA.Selenium.Keys
Imports OpenQA.Selenium.Chrome
Imports System.Threading.Thread
Imports System.Data.Odbc
Imports System.Text.RegularExpressions

Public Class Form1
  Public Sub New()
    ' This call is required by the designer.
    InitializeComponent()

    ' Add any initialization after the InitializeComponent() call.
    driverService = ChromeDriverService.CreateDefaultService()
    driverService.HideCommandPromptWindow = True
    driver = New ChromeDriver(driverService, New ChromeOptions())
  End Sub

  Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    driver.Navigate().GoToUrl("http://www.google.com")
  End Sub

  Private Sub btnStop_Click(sender As Object, e As EventArgs) Handles btnStop.Click
    btnStop.Text = "Stopping service..."
    btnStop.Enabled = False
    driver.Quit()
    driver.Dispose()
    btnStop.Text = "Done."
  End Sub

  Private driverService As ChromeDriverService
  Private driver As IWebDriver
End Class

Обратите внимание, что driver и driverService относятся к Fields в классе.Для получения дополнительной информации о полях класса см. Официальную документацию здесь :

Поля и свойства

Поля и свойства представляют информацию, хранящуюся вобъект.Вы извлекаете и устанавливаете их значения с помощью операторов присваивания так же, как вы извлекаете и устанавливаете локальные переменные в процедуре.В следующем примере извлекается свойство Width и задается свойство ForeColor объекта Label.

Dim warningWidth As Integer = warningLabel.Width
warningLabel.ForeColor = System.Drawing.Color.Red

Когда вы хотите выполнить код для Object Property, например, для установки driverService.HideCommandPromptWindow до True, это действие должно происходить где-то в пределах Method, Function или Property Accessor.В этом случае эта конкретная строка кода выполняется в конструкторе формы, который является Method.

. Эти разделы документации Microsoft будут очень полезными для вас, когда вы получите шанс.

0 голосов
/ 20 марта 2019

Спасибо InteXX за ваш ответ.

Это моя проблема с кодом:

Imports OpenQA.Selenium
Imports OpenQA.Selenium.Keys
Imports OpenQA.Selenium.Chrome
Imports System.Threading.Thread
Imports System.Data.Odbc
Imports System.Text.RegularExpressions

Public Class Form1

        Dim driverService = ChromeDriverService.CreateDefaultService()
        driverService.HideCommandPromptWindow = True
        Dim driver As IWebDriver = New ChromeDriver(driverService, New ChromeOptions())

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        driver.Navigate().GoToUrl("http://www.google.com")
    End Sub

    Private Sub btnStop_Click(sender As Object, e As EventArgs) Handles btnStop.Click
        btnStop.Text = "Stopping service..."
        btnStop.Enabled = False
        driver.Quit()
        driver.Dispose()
        btnStop.Text = "Done."
    End Sub
End Class

Если я помещу это в метод или подпрограмму, я понятия не имею, как использовать переменную драйвера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...