【问题标题】:Why can't I instance a chromeoptions object with selenium in powershell?为什么我不能在 powershell 中使用 selenium 实例化 chromeoptions 对象?
【发布时间】:2018-05-16 07:59:37
【问题描述】:

我正在尝试在 Windows 10 机器上使用 Powershell v5.1 来使用 Selenium chromedriver 自动执行 chrome 任务,但在导入所有相关 dll 后,我无法在 PS 中创建 ChromeOptions 对象。我发现的每个来源都说正确的对象实例化是这样完成的:

ChromeOptions options = new Chromeoptions();

但这会导致这个错误:

At line:1 char:43
+ chromeoptions options = new chromeoptions();
+                                           ~
An expression was expected after '('.
     + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
     + FullyQualifiedErrorId : ExpectedExpression

这是在我导入这些之后:

add-type -path "D:\\selenium\selenium.webdriverbackedselenium.dll"
add-type -path "D:\\selenium\thoughtworks.selenium.core.dll"
add-type -path "D:\\selenium\webdriver.support.dll"
add-type -path "D:\\selenium\webdriver.support.dll"

我是否缺少实例化 chromeoptions 对象所需的任何 dll?我可以用 chromedriver 很好地打开 chrome 并正常导航,但我需要在它打开之前配置一些东西,否则它对我来说基本上没用。感谢您的所有帮助!

【问题讨论】:

    标签: powershell google-chrome selenium webdriver selenium-chromedriver


    【解决方案1】:

    我今天真的开始玩 Selenium,因为我想尝试抓取动态加载的数据 (javascript)。反正

    您正在复制 C# 代码并期望它能够工作。您需要将其转换为 PS 代码(或在 PS 中作为 C# 代码运行)

    ChromeOptions options = new Chromeoptions();
    

    变成

    $chromeOptions = New-Object OpenQA.Selenium.Chrome.ChromeOptions
    

    $chromeOptions 现在具有您可以访问的方法和属性,例如 AddArgument。

    创建 ChromeOptions 对象后,您需要将其添加到驱动程序中。

    $driver = New-Object OpenQA.Selenium.Chrome.ChromeDriver($chromeOptions)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-07
      • 1970-01-01
      • 2021-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-10
      相关资源
      最近更新 更多