selenium c# 的注意事项

http://chromedriver.storage.googleapis.com/index.html chromedriver的下载地址
http://selenium-release.storage.googleapis.com/index.html IEdriver的下载地址
https://github.com/mozilla/geckodriver/releases firefoxdriver的下载地址

问题积累:
1. 关于IE11不能定位的问题:解决方案:
For IE 11 only, you will need to set a registry entry on the target computer so that the driver can maintain a connection to the instance of Internet Explorer it creates. (这段告诉你需要修改注册表。)

For 32-bit Windows installations, the key you must examine in the registry editor is HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE. (32bit Windows看这里。)

For 64-bit Windows installations, the key is HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE. Please note that the FEATURE_BFCACHE subkey may or may not be present, and should be created if it is not present. Important: Inside this key, create a DWORD value named iexplore.exe with the value of 0.(64bit Windows看这里。)

翻译过来的意思即,修改你的注册表(Run->regedit->Enter),路径如下:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE

如果FeatureControl下没有FEATURE_BFCACHE,就以FEATURE_BFCACHE为名new一个key!并在其下创建一个DWORD,取名为:iexplore.exe,value为0。

2. IE的click无效的解决方案:
使用模拟js点击:
((IJavaScriptExecutor)driver).ExecuteScript("arguments[0].click();", driver.FindElement(By.TagName("button")));

3. IE的sendkeys慢的解决方案:
IE的64位driver有bug,使用32位的driver

4. firefox中sendkeys报错的问题
firefox的版本问题,使用52版本的firefox可以解决

posted @ 2017-05-11 16:18  Teddy  阅读(667)  评论(0编辑  收藏  举报