我正在尝试使用带有VBA的Selenium中的SetPreference()
方法使用用户详细信息登录网站。
下面是代码。
Sub setttt()
Dim driver As New ChromeDriver
Set driver = New ChromeDriver
driver.Get ("https:www.gmail.com/")
driver.AddArgument ("--no-sandbox")
driver.SetPreference ("user-data-dir=C:/Users/sagar/AppData/Local/Google/Chrome/User Data/Default")
driver.Wait (500)
End Sub
我收到编译错误
参数不是可选的
如果我在这里遗漏了什么,请帮忙。
您的代码还有其他一些问题。首先,您需要在启动Chrome之前设置用户目录的配置文件。因此,这需要在使用 .Get()
方法之前进行设置。
此外,如果您在声明中使用Dim .. As New
,则以后无需Set .. = New
。
最后,与其使用.SetPreference()
来获取您的用户个人资料,不如将.SetProfile()
与persistent:=True
一起使用。
我还应该提到,您不需要在配置文件中包含Default
,这是自动包含的;个人偏好是我使用%USERPROFILE%
而不是在文件路径中硬编码用户名。
Dim driver As New ChromeDriver
driver.SetProfile "%USERPROFILE%AppDataLocalGoogleChromeUser Data", True
driver.AddArgument "--no-sandbox"
driver.Get "https://www.gmail.com/"
对于您的特定问题,该错误代码意味着您缺少必需的参数。 .SetPreference
需要两个参数:
- 钥匙
- 价值
但是你只提供了一个。
尝试删除括号
driver.AddArgument "--no-sandbox"
如果仍然没有解决,请尝试使用
driver.Get "https:www.gmail.com/"
driver.AddArgument "--no-sandbox"
driver.SetPreference "user-data-dir", "C:/Users/sagar/AppData/Local/Google/Chrome/User Data/Default"