Powershell Selenium、InternetExplorerDriver、ForceCreateProcessApi、超时或不启动浏览器?
我们一直在使用Selenium在Internet Explorer中自动化一些浏览器测试。在32位Windows 7上,它工作正常。然而,我们在Windows1064位上测试它,它失败得很惨Powershell Selenium、InternetExplorerDriver、ForceCreateProcessApi、超时或不启动浏览器?,powershell,selenium,selenium-webdriver,selenium-iedriver,Powershell,Selenium,Selenium Webdriver,Selenium Iedriver,我们一直在使用Selenium在Internet Explorer中自动化一些浏览器测试。在32位Windows 7上,它工作正常。然而,我们在Windows1064位上测试它,它失败得很惨 有时浏览器甚至无法启动 如果我更改驱动程序版本,我可以启动浏览器,但它会挂在第一页上 只有在我使用ForceCreateProcessApi时才出现此问题。但是,为了使用BrowserCommandLineArguments,我需要使用ForceCreateProcessApi 例外情况是:对远程WebD
- 有时浏览器甚至无法启动
- 如果我更改驱动程序版本,我可以启动浏览器,但它会挂在第一页上
- 只有在我使用ForceCreateProcessApi时才出现此问题。但是,为了使用BrowserCommandLineArguments,我需要使用ForceCreateProcessApi李>
- 例外情况是:对远程WebDriver服务器的URL的HTTP请求http://localhost:16639/session 60秒后超时
$seleniumOptions = New-Object OpenQA.Selenium.IE.InternetExplorerOptions
$seleniumOptions.InitialBrowserUrl = $SiteUrl
$seleniumOptions.ForceCreateProcessApi = $true
$seleniumOptions.BrowserCommandLineArguments = "-k"
$seleniumOptions.IgnoreZoomLevel = $true
New-Variable -Name IEDS -Value ([OpenQA.Selenium.IE.InternetExplorerDriverService]) -Force
$defaultservice = $IEDS::CreateDefaultService()
$seleniumDriver = New-Object OpenQA.Selenium.IE.InternetExplorerDriver -ArgumentList @($defaultservice, $seleniumOptions)
我尝试了以下版本(x86和x64版本),但都不起作用:
2.25.3
3.141
3.9.0
有人能就如何使这项工作发挥作用提出建议吗?我已确保根据文档设置了TabProcGrowth等
谢谢。尝试使用3.150.1 32位驱动程序 我不确定它在PS上是什么样子的-但我可以用这个驱动程序配置运行IE
ie:{version:“3.150.1”,arch:“ia32”}
我还有一个iexplore.exe的密钥:
HKEY\u LOCAL\u MACHINE\SOFTWARE\Wow6432Node\Microsoft\internetexplorer\Main\FeatureControl\FEATURE\BFCACHE
在此感谢您的回复。我已经尝试了所有这些-我已经将x64驱动程序exe放在system32文件夹中,x86驱动程序exe放在SysWOW64文件夹中,我使用了3.141.0 WebDriver和WebSupport DLL,我已经确保FEATURE_FCACHE在HKLM和HKLM\WOW6432节点位置,我也确保了HKCU,我已经确保了增强保护模式关闭,我还确保了缩放设置为100%。多痛苦啊……但我写的是功能缓存和3.150.1。您不需要将任何内容放入system32和SysWOW64。是的,含硒的PS是一种痛苦。你为什么不换成C?谢谢,很抱歉上面的错误。最后,我重构了解决方案以使用Chrome驱动程序。更少的小车和更快的工作!我确实在上面设置了注册表值,并尝试了您提到的版本。