powershell - 为什么我不能在 powershell 中使用 selenium 实例化 chromeoptions 对象?
问题描述
我正在尝试在 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 并正常导航,但我需要在它打开之前配置一些东西,否则它对我来说基本上没用。感谢您的任何帮助!
解决方案
我今天真的开始玩 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)
推荐阅读
- validation - 在节点 API 中处理多个文件上传
- flutter - ScaleTransition 动画不提供流畅的动画
- reactjs - React-redux:提交后表单自动清除
- python - 找不到模块python
- elasticsearch - 我想使用 Elastic Search 按过去 2 周的活动分数对文档进行排序
- node.js - 在 Node 14 中使用全局 URL 和 TypeScript?
- android - 使用 Ktor HttpClient(CIO) websocket 发送内容时如何捕获 Broken pipe 异常?
- javascript - Javascript onclick改变属性改变localstorage
- signalr - 对于 .Net 核心 webapi 和 Angular,当 SignalR 客户端已连接到服务器时,Signalr 响应未从服务器端获取客户端
- sql - 将值平均分配给每月的每一天