为什么我不能在powershell中使用selenium实例化chromeoptions对象?

时间:2018-05-16 07:59:38

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

我尝试在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打开铬精细并正常导航,但我需要在它打开之前配置一些东西,否则它对我来说基本上没用。感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

我今天开始玩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)