@@ -65,7 +65,7 @@ <h1>Source code for selenium.webdriver.firefox.firefox_binary</h1><div class="hi
65
65
66
66
< span class ="kn "> import</ span > < span class ="nn "> os</ span >
67
67
< span class ="kn "> import</ span > < span class ="nn "> platform</ span >
68
- < span class ="kn "> from</ span > < span class ="nn "> subprocess</ span > < span class ="kn "> import</ span > < span class ="n "> Popen</ span > < span class ="p "> ,</ span > < span class ="n "> PIPE </ span > < span class =" p " > , </ span > < span class =" n " > STDOUT</ span >
68
+ < span class ="kn "> from</ span > < span class ="nn "> subprocess</ span > < span class ="kn "> import</ span > < span class ="n "> Popen</ span > < span class ="p "> ,</ span > < span class ="n "> STDOUT</ span >
69
69
< span class ="kn "> from</ span > < span class ="nn "> selenium.common.exceptions</ span > < span class ="kn "> import</ span > < span class ="n "> WebDriverException</ span >
70
70
< span class ="kn "> from</ span > < span class ="nn "> selenium.webdriver.common</ span > < span class ="kn "> import</ span > < span class ="n "> utils</ span >
71
71
< span class ="kn "> import</ span > < span class ="nn "> time</ span >
@@ -83,13 +83,16 @@ <h1>Source code for selenium.webdriver.firefox.firefox_binary</h1><div class="hi
83
83
< span class ="sd "> - firefox_path - Path to the Firefox executable. By default, it will be detected from the standard locations.</ span >
84
84
< span class ="sd "> - log_file - A file object to redirect the firefox process output to. It can be sys.stdout.</ span >
85
85
< span class ="sd "> Please note that with parallel run the output won't be synchronous.</ span >
86
- < span class ="sd "> By default, it will be redirected to subprocess.PIPE .</ span >
86
+ < span class ="sd "> By default, it will be redirected to /dev/null .</ span >
87
87
< span class ="sd "> """</ span >
88
88
< span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _start_cmd</ span > < span class ="o "> =</ span > < span class ="n "> firefox_path</ span >
89
- < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _log_file</ span > < span class ="o "> =</ span > < span class ="n "> log_file</ span > < span class ="ow "> or</ span > < span class ="n "> PIPE </ span >
89
+ < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _log_file</ span > < span class ="o "> =</ span > < span class ="n "> log_file</ span > < span class ="ow "> or</ span > < span class ="nb " > open </ span > < span class =" p " > ( </ span > < span class =" n "> os </ span > < span class =" o " > . </ span > < span class =" n " > devnull </ span > < span class =" p " > , </ span > < span class =" s " > "wb" </ span > < span class =" p " > ) </ span >
90
90
< span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> command_line</ span > < span class ="o "> =</ span > < span class ="bp "> None</ span >
91
91
< span class ="k "> if</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _start_cmd</ span > < span class ="ow "> is</ span > < span class ="bp "> None</ span > < span class ="p "> :</ span >
92
92
< span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _start_cmd</ span > < span class ="o "> =</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _get_firefox_start_cmd</ span > < span class ="p "> ()</ span >
93
+ < span class ="k "> if</ span > < span class ="ow "> not</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _start_cmd</ span > < span class ="o "> .</ span > < span class ="n "> strip</ span > < span class ="p "> ():</ span >
94
+ < span class ="k "> raise</ span > < span class ="ne "> Exception</ span > < span class ="p "> (</ span > < span class ="s "> "Failed to find firefox binary. You can set it by specifying the path to 'firefox_binary':</ span > < span class ="se "> \n\n</ span > < span class ="s "> from selenium.webdriver.firefox.firefox_binary import FirefoxBinary</ span > < span class ="se "> \n\n</ span > < span class ="s "> "</ span > < span class ="o "> +</ span >
95
+ < span class ="s "> "binary = FirefoxBinary('/path/to/binary')</ span > < span class ="se "> \n</ span > < span class ="s "> driver = webdriver.Firefox(firefox_binary=binary)"</ span > < span class ="p "> )</ span >
93
96
< span class ="c "> # Rather than modifying the environment of the calling Python process</ span >
94
97
< span class ="c "> # copy it and modify as needed.</ span >
95
98
< span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _firefox_env</ span > < span class ="o "> =</ span > < span class ="n "> os</ span > < span class ="o "> .</ span > < span class ="n "> environ</ span > < span class ="o "> .</ span > < span class ="n "> copy</ span > < span class ="p "> ()</ span >
@@ -158,9 +161,9 @@ <h1>Source code for selenium.webdriver.firefox.firefox_binary</h1><div class="hi
158
161
159
162
< span class ="k "> def</ span > < span class ="nf "> _find_exe_in_registry</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="p "> ):</ span >
160
163
< span class ="k "> try</ span > < span class ="p "> :</ span >
161
- < span class ="kn "> from</ span > < span class ="nn "> _winreg</ span > < span class ="kn "> import</ span > < span class ="n "> OpenKey</ span > < span class ="p "> ,</ span > < span class ="n "> QueryValue</ span > < span class ="p "> ,</ span > < span class ="n "> HKEY_LOCAL_MACHINE</ span >
164
+ < span class ="kn "> from</ span > < span class ="nn "> _winreg</ span > < span class ="kn "> import</ span > < span class ="n "> OpenKey</ span > < span class ="p "> ,</ span > < span class ="n "> QueryValue</ span > < span class ="p "> ,</ span > < span class ="n "> HKEY_LOCAL_MACHINE</ span > < span class =" p " > , </ span > < span class =" n " > HKEY_CURRENT_USER </ span >
162
165
< span class ="k "> except</ span > < span class ="ne "> ImportError</ span > < span class ="p "> :</ span >
163
- < span class ="kn "> from</ span > < span class ="nn "> winreg</ span > < span class ="kn "> import</ span > < span class ="n "> OpenKey</ span > < span class ="p "> ,</ span > < span class ="n "> QueryValue</ span > < span class ="p "> ,</ span > < span class ="n "> HKEY_LOCAL_MACHINE</ span >
166
+ < span class ="kn "> from</ span > < span class ="nn "> winreg</ span > < span class ="kn "> import</ span > < span class ="n "> OpenKey</ span > < span class ="p "> ,</ span > < span class ="n "> QueryValue</ span > < span class ="p "> ,</ span > < span class ="n "> HKEY_LOCAL_MACHINE</ span > < span class =" p " > , </ span > < span class =" n " > HKEY_CURRENT_USER </ span >
164
167
< span class ="kn "> import</ span > < span class ="nn "> shlex</ span >
165
168
< span class ="n "> keys</ span > < span class ="o "> =</ span > < span class ="p "> (</ span >
166
169
< span class ="s "> r"SOFTWARE\Classes\FirefoxHTML\shell\open\command"</ span > < span class ="p "> ,</ span >
@@ -173,7 +176,12 @@ <h1>Source code for selenium.webdriver.firefox.firefox_binary</h1><div class="hi
173
176
< span class ="n "> command</ span > < span class ="o "> =</ span > < span class ="n "> QueryValue</ span > < span class ="p "> (</ span > < span class ="n "> key</ span > < span class ="p "> ,</ span > < span class ="s "> ""</ span > < span class ="p "> )</ span >
174
177
< span class ="k "> break</ span >
175
178
< span class ="k "> except</ span > < span class ="ne "> OSError</ span > < span class ="p "> :</ span >
176
- < span class ="k "> pass</ span >
179
+ < span class ="k "> try</ span > < span class ="p "> :</ span >
180
+ < span class ="n "> key</ span > < span class ="o "> =</ span > < span class ="n "> OpenKey</ span > < span class ="p "> (</ span > < span class ="n "> HKEY_CURRENT_USER</ span > < span class ="p "> ,</ span > < span class ="n "> path</ span > < span class ="p "> )</ span >
181
+ < span class ="n "> command</ span > < span class ="o "> =</ span > < span class ="n "> QueryValue</ span > < span class ="p "> (</ span > < span class ="n "> key</ span > < span class ="p "> ,</ span > < span class ="s "> ""</ span > < span class ="p "> )</ span >
182
+ < span class ="k "> break</ span >
183
+ < span class ="k "> except</ span > < span class ="ne "> OSError</ span > < span class ="p "> :</ span >
184
+ < span class ="k "> pass</ span >
177
185
< span class ="k "> else</ span > < span class ="p "> :</ span >
178
186
< span class ="k "> return</ span > < span class ="s "> ""</ span >
179
187
0 commit comments