当前位置: 首页 > 知识库问答 >
问题:

为什么我不能在powershell中使用硒实例一个chrome选项对象?

宰父君昊
2023-03-14

我正在尝试使用Powershell v5。1在Windows 10机器上使用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 fine并正常导航,但我需要在它打开之前配置一些东西,否则它对我基本上没用。谢谢你的帮助!

共有1个答案

商飞龙
2023-03-14

我今天开始玩硒,因为我想尝试抓取动态加载的数据(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)
 类似资料:
  • 问题内容: 我明白: 由于抽象类本身并不是什么,例如车辆,我们想要创建一个具体实现的对象,例如Car,Bike等。 对象链期间将调用抽象类的构造函数。 我们永远不能直接创建抽象类的对象,即使它包含构造函数并且所有方法都已实现。 但是从编译器的角度来看,Java为什么要强制执行这些规则? 问题答案: 这不是技术限制,而是(如您所指出的)逻辑上的限制。Java(和许多其他语言)执行各种规则不是因为它们

  • 问题内容: 我只是想知道… 为什么我只有一个Calendar对象实例。有一个单例的原因吗? 我试图阅读文档,但他们没有提及为什么需要这样做。快速谷歌搜索没有给我任何答案。 问题答案: 日历不是单例,它是一个抽象类。该方法是一个Factory方法,它返回Calendar类的具体实现。 在Google上搜索java.util.Calendar源代码,您将看到它的工作方式。

  • 我读了很多关于应该使用的案例。 我读过的许多页面都说不应该用于私有实例变量,而应该由getters返回。 我认为将私有实例变量作为可选变量仍然是有用的。如果有人查看我的代码,他们可以看到一个值可以是空的,而不必检查留档是否可以返回空。 在Scala中,null从未使用过,它只是用于与Java的互操作性。如果值可以为null,建议始终使用可选值。这种方法对我来说更有意义。 这里有一页提到了它: ht

  • 我正在尝试使用文件系统。我的< code>CMakeLists.txt中有< code>-std=c 11 -std=c 1y。GCC版本为4.9.2。然而,我得到了一个错误: 使用的正确方法是什么?

  • 我试图使用流按国籍对我的对象进行分组并打印出来。 但是它说:"不能解析方法'println"

  • 下载chromedriver并解压缩它。