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