forked from florentbr/SeleniumBasic
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathFirefoxDriver.cs
More file actions
76 lines (66 loc) · 1.99 KB
/
FirefoxDriver.cs
File metadata and controls
76 lines (66 loc) · 1.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
using Selenium.Core;
using System;
using System.Runtime.InteropServices;
namespace Selenium {
/// <summary>
/// Web driver for Firefox
/// </summary>
///
/// <example>
///
/// VBScript:
/// <code lang="vbs">
/// Class Script
/// Dim driver
///
/// Sub Class_Initialize
/// Set driver = CreateObject("Selenium.FirefoxDriver")
/// driver.Get "http://www.google.com"
/// End Sub
///
/// Sub Class_Terminate
/// driver.Quit
/// ...
/// End Sub
/// End Class
///
/// Set s = New Script
/// </code>
///
/// VBA:
/// <code lang="vbs">
/// Public Sub Script()
/// Dim driver As New FirefoxDriver
/// driver.Get "http://www.mywebsite.com"
/// ...
/// driver.Quit
/// End Sub
/// </code>
///
/// </example>
[ProgId("Selenium.FirefoxDriver")]
[Guid("0277FC34-FD1B-4616-BB19-14DB1E4916D4")]
[ComVisible(true), ClassInterface(ClassInterfaceType.None)]
public class FirefoxDriver : WebDriver, ComInterfaces._WebDriver {
const string BROWSER_NAME = "firefox";
public FirefoxDriver()
: base(BROWSER_NAME) { }
internal static IDriverService StartService(WebDriver wd) {
ExtendCapabilities(wd, false);
FirefoxService svc = new FirefoxService();
svc.Start(wd.Arguments, wd.Preferences, wd.Extensions, wd.Capabilities, wd.Profile, wd.Persistant);
return svc;
}
internal static void ExtendCapabilities(WebDriver wd, bool remote) {
var capa = wd.Capabilities;
capa["webdriver.logging.profiler.enabled"] = false;
capa["loggingPrefs"] = new Dictionary {
{"profiler", "OFF"},
{"driver", "OFF"},
{"browser", "OFF"}
};
if (wd.Binary != null)
capa["firefox_binary"] = wd.Binary;
}
}
}