-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES
945 lines (795 loc) · 37.6 KB
/
CHANGES
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
Selenium 4.0.0
* Add cdp 95 to python and JS
* Remove Edge legacy options. (#9908)
* Expected condition for checking attribute value (#9881)
* implement relative locator for find_element (#9902)
* Fix python generation code for CDP to optionals better
Selenium 4 Release Candidate 3
* Fix CDP Code Generation broken by Chromium 94
* Fix Deprecation warnings for IE Bindings. Fixes #9818
Selenium 4 Release Candidate 2
* Add new websocketUrl capability
* Force free ports for cdp in geckodriver
* Add w3c capabilities to Python options (#9870)
* expected_conditions and wait modules raises InvalidSelectorException for invalid xpaths (#9805)
* implement chromium specific endpoint for setting permissions
* implement chromium specific endpoint for deleting network conditions
* update ruby, python and JS to add support for v94 and remove support for v92
* Fix type hint on chrome option method (#9840)
* Allows None to be set for the sameSite attribute (#9771)
* Fix typo in python webdriver for IE (#9801)
Selenium 4 Release Candidate 1
* Remove cdp versions 88, 89, and 90
* Replace v91 with v93 in bazel files
* update IE options class in each language to match the currently supported capabilities in the IE Driver
* Specify that the "find_element_by_* ..." warning is a deprecation warning (#9700)
* clean up imports
* Use options when passing things to remote webdriver instead of capabilities (#9678)
* Correct deprecation message in IE handling code
* Rewrite the logging module for bidi connections
* remove non-w3c compliant parameters from default capabilities
* Run type checks in CI and report typing coverage to codecov (#9523)
* PEP 484 Type Hints added
* Handle first/always match better when it hits lists/dicts. Fixes #9538
* correct tox warnings
* Fix deprecation warnings for Safari (#9577)
* Allow 0 coordinates for the window position. Fixes #9574
* Fix incorrect use of 'NoReturn' type annotation. (#9540)
Selenium 4 Beta 4 (The Final Beta)
* Returning fixed IP in GitHub actions (#9550)
* PEP 484 type hints for common.exceptions and webdriver.support.color (#9482)
* Add the ability to pass in multiple options and have that capabilities returned as (first|always)Match
* Add docstrings for RelativeBy
* Add the ability to pass in different locators to do Relative Locator searches
* Add a test with returning a JS Const object #9468
* Handle poor responses from drivers when there are errors. Fixes #9437
* Add the ability to enable mobile on options classes
* Add the ability to use Options classes on Safari
* Fix converting list of tuples to str in send_keys (#9330)
* Expand element to be clickable in expected conditions(#9374)
* Upgrade rules_python to 0.2.0
Selenium 4 Beta 3
* Enable more tests
* Improve support for WebDriver Bidi over selenium grid
* Update CDP Support versions to remove 86,87 and add 90,91
* Allow overriding the default 250 msecs duration of pointer movement (#9336)
* Only give deprecation warning if Profile is being used in options
* Loosen version requirements on dependencies. Fixes #9312
* Bump urllib3 from 1.26.2 to 1.26.3 in /py (#9311)
* Disable wait on frame test due to bug in Firefox
* Correct pinned browser path for chrome on linux
Selenium 4 beta 2 Post 1
* Fix Chrome instantiation
Selenium 4 beta 2
* Set up python for pinned browsers
* Add Multiple file upload test
* Fix using arguments in Chrome Option. Fixes #9281
* Deprecate arguments in remote webdriver instantiation
* Improve proxy via options test for Firefox
* Set Chromium Edge to be the default for Edge browsers
* Move code so that it is reachable
* Fix usage of options to RemoteWebDriver (#9240)
* Deprecate using a Firefox profile in Options
* use attribute endpoint to evaluate multiple selects
* implement get_dom_attribute
* Add attribute_to_be_include method to expected_conditions when the at… (#9200)
* Additional Python type hints (#9192)
* Correct Type Hinting on option method. Fixes #9210
* Use a flat namespace for selenium options
* remove unused imports
* Add ARIA APIs for getting the role and label of an Element
* Fix homepage attribute in wheel target
* Avoid using bazel native python rules
Selenium 4.0 Beta 1
* Deprecate all but `Options` and `Service` arguments in driver instantiation. (#9125,#9128)
* Upgrade Bazel rules_python to latest
* Deprecate w3c checks in python bindings (#9109)
* Remove legacy WebElement key `ELEMENT` (#9102, #9110)
* Improve how desired_capabilities and options are merged
* Use weakreferences for driver in switch and mobile classes (#2425)
* Fix 'webview2' browser name for Edge py options. (#9090)
* Add python type hinting
* Improved alias for Keys (#9076)
* Improve comment about using importlib_resources
* Add mozdebugger capability to use CDP Features with Firefox
* Refactor bidi APIs for logging to be on their own class
* Make sure we are checking a string for local file detector
* Add Ignored Exception to wait in Bidi Tests
* Update tests
* Adding Github Actions workflow for Python (#9031)
* Fix WebDriver.start_session docstring to remove incorrect arguments (#9021)
* Add Mutation Logging support
* Pin Firefox bidi support to use the generated code for CDP 85
* Fix handling of generated code put into wheels
* Modernise the python code around imports and conditionals
* Support for float types in text fields (#8936)
* Add print page command to python binding (#8903)
* Add Chrome v88 to bidi support
* Fix pytest macro to allow --test_args to pass through
* Remove thread.join in testing webserver due to chromedriver issue 3654
* Fix grammar typos in exceptions.py (#8876)
* Enforce python version in wheel when created. fixes #8863
* Correct proxy tests
* Include readme in Wheel so it's rendered on Pypi
Selenium 4.0 Alpha 7
* BREAKING CHANGE: Dropped support for python < 3.7
* Remove support for XBL in Firefox.
* Correct formatting with JS fragment
* Add debugpy to requirements
* Fix uploading multiple files on remote driver (#7472) (#8734)
* Correct docstring around find_element and find_elements. Fixes #8806
* Add the ability to ignore local proxys that are available
* add script pinning to python bindings
* Deprecate desired_capabilities property in favour of capabilities property
* Update tests to use requirements file
* Allow driver fixtures to be used in Chrome only tests
* Update testing to use the latest pytest
* do not update already set preference (#8692)
* Added new argument creationflags in Service class for common, chrome, and firefox (#8647)
* add se namespacing to file upload endpoint for all bindings (#8588)
* Correct dependency management for code generator
* Update host to connect to get a port. Fixes #8503
* Poll quicker for the driver when starting up. Fixes #8477
* Add support for DevTools APIs
* Improve WebKitGTK and WPEWebKit support
* Fix browserName typo for Edge WebView2
* Fix wheel generation for multiple python versions
Selenium 4.0 Alpha 6 Post 2
* Correct usage of Abstract Base class in some instances
* Correct build step for releasing
Selenium 4.0 Alpha 6
* Add Abstract Base Class to WebElement and WebDriver #7127 (#8348)
* Copy `acceptInsecureCerts` to Options for Firefox. Fixes #8261
* Correct check on DEFAULT_EXECUTABLE_PATH
* Use ProxyManager instead of PoolManager in remote_connection (#8297)
* Check offsets are cast to int. Fixes #7639
* Fixes an issue where IE server port is set '0' by default (#8294)
* Favor Python3 constructs and Python 2.7 compatibility (#8290)
* Remove Unused Arguments from Firefox
* Fixup Firefox deprecations
* Delete support for Blackberry Driver
* Delete PhantomJS capabilities
* Delete Android Driver support
* Remove python crazyfun references
* Enable and update Safari tests
* Use same port in remote executor and service (#8255)
* Update tests and docs to not use deprecated methods
* mark various tests as failing in Firefox
* Use callback functions instead callable objects as expected conditions (#7765)
* Fix error in webelemet not created, verifing if is str or dict. (#3481)
* verify command_executor ssl certificate by default (#6536)
* Correct documentation for ChromiumDriver
* Deprecating find_element(s)_* calls in event firing webdriver
* Fixing path to selenium server for remote tests
* Fixing relative locator constructor
* Changing environment variable we use to check if the tests are running on travis
* Fixing HSL to RGBa color converter
* Deprecate use of AppCache APIs
Selenium 4.0 Alpha 5
* Correct service usage in IE Binding. Fixes #7749
* Deprecate find_element(s)_by_* calls
* Use a capability to switch engines for Edge (#8096)
* Fix Flake8 errors
* Add WPEWebKit driver (#6375)
* update python_requires to only support python 2.7 and Python3.5+(#8085)
* add the ability to generate a wheel via bazel
* Add in support for page loading strategies for Options
* Add the ability to get and set timeouts against a driver. Fixes #7738
* Correct Docstring import in WebDriverWait example. Fixes #7780
* Explicitly force timeout value to float in WebDriverWait. Fixes #8050
* Add support for relative locators
* Fix clear actions in ActionChains (#7943)
* Automate RemoteConnection subclass selection (#8010)
* Fix capabilties to support macOS platform (#7980)
* fix: DeprecationWarning of base64.encodestring() (#7446)
* Build python code with Bazel
* Parse python docstring example as code snippet
* correct python_requires in setup
* Fix grammar typo in exceptions.py (#7657)
* Fixed references to chromedriver website
Selenium 4.0 Alpha 3
* Fixing stacktrace parser to handle strings as well as objects
* urllib throws on 404 so let's check the /status endpoint that returns 200
* Changing default command executor address to the address of TNG Grid
* Fixing check of type of a returned element in a test for all_of condition
* Implement logical expected conditions in Python (#7121)
* Explicitly clear PoolManager by using context manager (#6878)
* Fix invisibility_of_element expected condition init function (#7484)
* fix docs build, add chromium and edge to docs
* flake8 fixes
* allow --browser-binary and --browser-args to be used with ChromiumEdge
* Add support for the new MicrosoftEdge (#7459)
* increase async script timeout from 0 as the w3c spec states to start time checking immediately
* fix unit test for firefox options, proxy key should be outside of options
* update to w3c compliant log endpoints
* Remove 'resolve_ip' option from RemoteConnection (#1729,#2509)
* Running python unit tests with bazel
* Pass capabilities rather than options to the proxy object (#6620)
* Adding full page screenshot feature for Firefox (#7182)
* Added EventFiringWebElement to the isinstance check in the move_to method.(#6604)
* Added socksVersion field in proxy class (#6983)
* also clear w3c actions in ActionChains#reset_actions
* fix edge webdriver init by deprecating edge_service in favor of service also fix warnings import in edge/webdriver
* Removes old exception and dead code from py lib.(#7134)
* Raise error for unsupported method for set_window_rect
Selenium 4.0 Alpha 1
* Update driver initialisation to use service and option objects
* turn on keep-alive by default for remote connections (#7072)
* Fix ConnectionResetError
* Add new Cast commands
* Suggest download Microsoft Webdriver over HTTPS
* Clear PoolManager in ‘remote_connection’ to ensure sockets are closed
* remove --disable-gpu option for headless Chrome
* Add support for the New Window command (#6873)
* Update docstrings in Options classes to allow documentation to highlight Return values
* Fix typos in select.py (#6925)
* Remove native events handling code
* Deleting unused imports, fixing flake8 issues
* Remove unused port selection in IE Driver
* Enabling tests xpassed in Chrome
* Pretty-printing code samples
* remove all deprecated methods and args from Python bindings
* Fix DeprecationWarning: invalid escape sequence
* Don't override browser options with desired capabilities by default in WebKitGTK (#6814)
* Add WebKitGTK to API docs (#6815)
* Subclass options classes from a common base class (#6522)
* Update Sphinx (#6728)
* WebDriverWait: update documentation for until and until_not (#6711)
* Fix typo in description of WebDriver class (#6724)
* add strictFileInteractability to acceptable W3C capabilities
* Deprecate Blackberry Driver support
* Fixing/tidying docstring.
Selenium 3.141.0
* Bump version to a better approximation of Π
* Improved Test build targets
* fix os path in test for Windows
* use 'NUL' for /dev/null on Windows
* Update ctor docstrings to explain that a directory passed in is cloned. Fixes #6542
* Allow passing of service_args to Safari. Fixes #6459
* Remove element equals url
* Improved WebExtension support
Selenium 3.14.1
* Fix ability to set timeout for urllib3 (#6286)
* get_cookie uses w3c endpoint when compliant
* Remove body from GET requests (#6250)
* Fix actions pause for fraction of a second (#6300)
* Fixed input pausing for some actions methods
* Capabilities can be set on Options classes
* WebElement rect method is now forward compatible for OSS endpoints (#6355)
* Deprecation warnings now have a stacklevel of 2
* keep_alive can now be set on Webdriver init (#6316)
* isDisplayed atom is now used for all w3c compliant browser, fixing issue with Safari 12
Selenium 3.14.0
* Fix doc of URL-related ExpectedCondition (#6236)
* Added ExpectedCondition invisibility_of_element
* Swap out httplib for urllib3
* Be consistent with webdriver init kwarg service_log_path (#5725)
Selenium 3.13.0
* Add executing Chrome devtools command (#5989)
* fix incorrect w3c action encoding in python client (#6014)
* Implement context manager for WebDriver
* Stop sending "windowHandle" param in maximize_window command for w3c
Selenium 3.12.0
* Add desired_capabilities keyword to IE and Firefox drivers for driver consitency
* Fix bug with creating Safari webdriver instance (#5578)
* Add support for Safari extension command
* Deprecate Options `set_headless` methods in favor of property setter
* Only set --disable-gpu for Chrome headless when on Windows
* Add selenium User-Agent header (#5696)
* Remote webdriver can now be started when passing options
* All Options.to_capabilities now start with default DesiredCapabilities
* Improve the error message that is raised when safaridriver cannot be found (#5739)
* IeOptions class is now imported to selenium.webdriver
* Remove the beta `authenticate` methods from `Alert`
Selenium 3.11.0
No changes just keeping python version in step with the rest of the project.
Selenium 3.10.0
* make tests to check clicking on disabled element work for w3c compliant drivers (#5561)
* add docstring for InvalidElementStateException. Fixes #5520
* Deleting unused imports
* Making python specification in IDEA project more generic
* It should be possible to use a custom safaridriver executable to run Selenium's test suite.
Selenium 3.9.0
* Add docstrings to WebElement find methods (#5384)
* Additional data in unexpected alert error is now handled for w3c drivers (#5416)
* Allow service_args to be passed into Firefox WebDriver (#5421)
* Fix bug introduced with response logging in 3.8.1 (#5362)
Selenium 3.8.1
* Fix bug when creating an Opera driver (#5266)
* Stop sending sessionId in w3c payload. (#4620)
* Fix issue with w3c actions releasing on element (#5180)
* A more descriptive log message is displayed if the port cannot be connected (#2913)
* Initialize Alert object by calling alert.text (#1863)
* PhantomJS is now deprecated, please use either Chrome or Firefox in headless mode
* Legacy Firefox driver: ensuring copy of profile dir, its 'extensions' subdir and 'user.js' file are writable. (#1466)
Selenium 3.8.0
* Firefox options can now be imported from selenium.webdriver as FirefoxOptions (#5120)
* Headless mode can now be set in Chrome Options using `set_headless`
* Headless mode can now be set in Firefox Options using `set_headless`
* Add the WebKitGTK WebDriver and options class (#4635)
* Browser options can now be passed to remote WebDriver via the `options` parameter
* Browser option parameters are now standardized across drivers as `options`. `firefox_options`,
`chrome_options`, and `ie_options` are now deprecated
* Added missing W3C Error Codes (#4556)
* Support has been removed for Python versions 2.6 and 3.3
Selenium 3.7.0
* need to pass applicable environment variables to tox
* Fix active_element for w3c drivers (#3979)
* add support for minimize command
* add support for fullscreen command
* window rect commands should fail on firefox and remote (legacy)
* Fix python backward compatibility for window commands (#4937)
* Update docstrings to specify the type of path needed to install firefox addons. (#4881)
* Update python chromeOptions key for capabilities (#4622)
* Fix python pause action implementation (#4795)
Selenium 3.6.0
* Fix package name in python webelement module (#4670)
* Fix python driver examples (#3872)
* No need to multiply pause by 1000
* Add pause to action chains
* only check for proxyType once
* lowercase proxy type for w3c payload in python #4574
* guarding against null return value from find_elements in python #4555
* remove unnecessary pytest marking, address flake8 issues
* allow IE WebDriver to accept IE Options
* add IE Options class
* convert OSS capabilities to W3C equivalent for W3C payload
* Add Safari to API docs
Selenium 3.5.0
* Numerous test fixes
*Iterate over capabilities in a way to support py2.7 and py3
* Fix W3C switching to window by name.
* Support GeckoDriver addon install/uninstall commands #4215.
* Move firefox_profile into moz:firefoxOptions.
* Filter non-W3C capability names out of alwaysMatch.
* Honor cmd line args passed to Service ctor (#4167)
* Add expected conditions based on URL to Python Expected Conditions #4160
* Add network emulation to Chrome Python bindings (#4011)
* add warning when saving incorrectly named screenshot (#4141)
Selenium 3.4.3
* Fix EventFiringWebdriver and WebElement to raise AttributeError on missing attributes. (#4107)
* unwrap WebElements inside dicts
Selenium 3.4.2
* translate move_by_offset command to w3c
* Update capabilities properly instead of assuming dict structure. Fixes #3927
* Add missing file for Chrome options to API docs.
* Add Chrome options module to API docs.
Selenium 3.4.1
* Add back the ability to set profile when using Firefox 45ESR. Fixes #3897
Selenium 3.4.0
* Correct usage of newSession around `firstMatch` and `alwaysMatch`
* Remove superfluous capabilities that are not needed
* Add expected condition that waits for all found elements to be visible (#3532)
* Allow methods wrapped by EventFiringWebDriver and EventFiringWebElement (#806)
* Dropping `javascriptEnabled` capability for real browsers
* Use W3C check from parent object instead of assuming from capabilities
* Bump example source distribution to match latest release.
* Replace TypeError with KeyError in remote webdriver error handler code (#3826)
* When testing Marionette use default capabilities in testing
* Conform to the api of urllib2 for adding header for a request (#3803)
* Add `text` key to alert#sendKeys parameters for W3C Endpoint
* Location once scrolled into view should use W3C executeScript endpoint not JSONWP
* Fixed the usage information in documentation of "save_screenshot". (#3804)
* Add Element Not Interactable exception
* Clean up imports in error handler
* flake8 cleanup
Selenium 3.3.3
* make w3c execute_script commands unique
Selenium 3.3.2
* Update window commands to use W3C End points
* Update Alert when in W3C mode to use W3C Endpoints
* Update to new W3C Execute Script end points
* Add setting/getting proxy details to Firefox Options
* Deprecate the use of browser profile when instantiating a session
* Update start session to handle the W3C New Session
* Add get/set window rect commands
* Add InvalidArgumentException
* When passing in `text` to send_keys, make sure we send a string not array
* Fix string decoding in remote connection (#3663)
* Fix indentation to satisfy PEP8
* Try use old way of setting page load timeout if new way fails. Fixes #3654
* fix file uploads for Firefox
* Run unit tests on Python 3.3, 3.4, and 3.5 (#3638)
* Fix indentation in double_click.
* Fix non-W3C page load timeout setting.
Selenium 3.3.1
* Fix encoding of basic auth header when using Python 3 Fixes #3622
* Add initial unit test suite
* Update W3C Timeout setting to be in line with the specification
* support.ui.Select class inherits from object (#3067)
* fix bug in proxy constructor that some properties are not proper set (#3459)
* Fix flake8 issues (#3628)
Selenium 3.3.0
** Note ** If you are updating to this version, please also update GeckoDriver to v0.15.0
* Fix python HTTPS encoding for python driver (#3379)
* Allow Firefox preferences to be set directly in Options
* Fix shutdown and process termination (#3263)
* Preventing exception if log_path is none or empty. Fixes #3128
* Add the W3C capability to Firefox for accepting insecure certificates
* Initial implementation of Pointer Actions
* Only skip tests if driver name matches a directory name.
* Update calls that return a pure object with keys to look for 'value' key
* Initial W3C Actions support
* fix docs output directory
Selenium 3.0.2
* Add support for W3C Get Active Element
* Return when we use executeScript for faking WebElement.get_property
* Expand user paths and resolve absolute path for Chrome extensions
* Add support for verbose logging and custom path to EdgeDriver
* Update TakeElementScreenshot to match WebDriver specification
* Raise WebDriverException when FirefoxBinary fails to locate binary
* Fix getting IP for python 3
* Write Service log to DEVNULL by default
* Only attempt to remove the Firefox profile path if one was specified
* Added context manager for chrome/content in Firefox
Selenium 3.0.1
* Fix regressions with python 3
* Add support for Safari Technology Preview
Selenium 3.0.0
* new FirefoxDriver ctor precedence logic and moz:firefoxOptions support (#2882)
* Add W3C Set Window Position and W3C Get Window Position
* enable log path setting from firefox webdriver (#2700)
* Correct encoding of getAttribute.js and only load it once. Fixes #2785
* Encode the isDisplayed atom and only load it once
Selenium 3.0.0.b3
* Use atoms for get_attribute and is_displayed when communicating with
a w3c compliant remote end.
* Make it possible to specialise web element
Selenium 3.0.0.b2
* Updated Marionette port argument to match other drivers.
Selenium 3.0.0.b1
* Fix basestring reference to work with python 3. Fixes #1820
* Correct Length conditional when filtering in PhantomJS. Fixes #1817
* Fix send keys when using PUA keys e.g. Keys.RIGHT #1839
* Fix cookie file leak in PhantomJS #1854
* Use the correct binary path when using Marionette
* Fixed: Unhelpful error message when PhantomJS exits. (#2173 #2168)
* Fix broken link to python documentation (#2159)
* Attempt to remove Firefox profile when using Marionette
* Ensure all capabilities are either within desiredCapabilities or requiredCapabilities
* Correct the expected capability name for the Firefox profile
* Add Firefox options to capabilities
* Visibility_of_all implies it only returns elements if all visible (#2052)
* Find visible elements (#2041)
* Pass the firefox_profile as a desired capability in the Python client when using a remote server
* Avoid checking exception details for invalid locators due to differences in server implementations
* Handle capabilities better with Marionette and GeckoDriver
* Updated the maxVersion of FirefoxDriver xpi maxVersion to work with Firefox 47.0.1
* Remove Selenium RC support
Selenium 2.53.0
* Adding Options object for use with Python FirefoxDriver
* Fixed improper usage of super in exceptions module
* create a temp file for cookies in phantomjs if not specified
* Pass in the executable that FirefoxBinary finds to the service if there isnt one passed in as a kwarg or capability
* Applied some DRY and extracted out the keys_to_typing()
* Fix deselecting options in <select>
Selenium 2.52.0
* Fixing case where UnexpectedAlertException doesn't get the alert_text in the error object
* Firefox: Actually use launch_browser timeout Fixes #1300
Selenium 2.51.1
* correcting bundling issue missing README.rst file
Selenium 2.51.0
* Firefox updates (see java changelog)
Selenium 2.50.1
* Fixing error message handling. Fixes issue #1497
* Fixing error message handling. Fixes issue #1507
* Update webelement to handle W3C commands for size/location and rect
* rewrite click scrolling tests to match the Java ones
Selenium 2.50.0
* handle potential URLError from sending shutdown, set self.process to None after it's already been quit
* Add support for submit() with W3C compliant endpoint
Selenium 2.49.1
* Ensure you can close stream before attempting to close it.
* message response may cause json loads ValueError when it's not actually json
and just a string (like the message that occurs when firefox driver thinks
another element will receive the click)
* Cleanup some error handling when sniffing what protocol you are speaking
Selenium 2.49.0
* Have Firefox service write to a file instead of PIPE
* on osx for firefox, fallback to checking homebrew install, if the default isn't there
* Added Firefox path variable for string placeholder
* Update README to show Python 3.2+
* refactoring all the service classes to use a common one.
* Add Firefox specific command to switch context between Browser content and Browser chrome
* updating files after go copyright:update
* Use specificationLevel to know that we are speaking GeckoDriver
* Bug fixes: #1294, #1186
Selenium 2.48.0
* Update error pulling to match spec when we encounter a spec compliant browser.
* Disable tests that are not working with Marionette when running Marionette tests
* Add the ability to run python marionette tests
* Python 3 compatibility for remote Authorization
* changing casing of children finding tests
Selenium 2.47.3
* Bring back py 3 support
Selenium 2.47.2
* Fix running Edge driver locally on win10
* adding repr to WebDriver and WebElement
Selenium 2.47.1
* Fix the issue of deleting the profile when shutting down Firefox
* WebElement __eq__ compares against more types
* Issues fixed: 850
Selenium 2.47.0
* Add in support for when communicating with a Spec compliant browsers
* Initial support for Edge using EdgeDriver
* Issues fixed: 818
Selenium 2.46.1
* Adding ability to make remote call for webelement screenshots in accordance to the W3C spec
* Adding api to authenticate HTTP Auth modal dialogs via driver.switch_to.alert (beta)
* Add rebeccapurple to Color Object
* Add element screenshot
* Add service handler and minimal update to driver to use service for Marionette
* Add the ability to start FirefoxDriver backed with Marionette via a capability
* support socket timeout for connections
* free_port checks if port is available on all interfaces
* Allow error handling to handle both current errors and w3c errors
* Update find_elements to match spec
* phantomjs: service: remove unused import of signal
* phantomjs: add port information to WebDriverException
* Issues fixed (Github): 478, 612, 734, 780
Selenium 2.46.0
* Firefox support up to 38
* BlackBerry browser support
* remove Presto-Opera support
* firefox extension extraction fixes
* process management fixes with phantomjs
* Comparing remote web element for equality does not require a remote command
* Issues Fixed: (gcode) 8493, 8521, 8498, 8274, 8497, 5923
* Issues Fixed: (github) 401
Selenium 2.45.0
* Firefox support up to 35, support for native events up to 34.
* Make Opera driver support also the new Blink based Opera
* README: Fix the Yahoo example
* WebElement docstring fixes
* Add debugger_address option to the ChromeDriver options list to optionally instruct ChromeDriver to wait for the target devtools instance to be started at a given host:ip
* Set default value for PhantomJS process reference
* Allow setting of FileDetector for send_keys
* Pass info to TimeoutException in WebDriverWait
* Issues Fixed: 8065, 8310, 8539
Selenium 2.44.0
* (previous release person forgot to add release notes! DAVID!)
Selenium 2.43.0
* Expand WebElement.get_attribute API docs
* firefox may be installed without admininstrator privileges
and therefore there may be no HKEY_LOCAL_MACHINE entry. Issue #7784
* UnexpectedAlertPresentException should contain the alert text in python too. Issue #7745
* don't mutate the global 'ignored exceptions', take a copy of the globally specified ones, change the
global to be a tuple instead. Issue #7725
* raise exception when the firefox binary isn't actually found, which usually implies the upgrade failed (on windows) Issue #6092 ,#6847
* Fixing NameError: global name 'options' is not defined.
* Remove unused import subprocess.PIPE
* Redirect Firefox output to /dev/null by default Fixes Issue #7677
* More flexible management of http timeouts in Selenium RC python client
* Generate Python API docs for selenium.webdriver.chrome.options. Fixes issue #7471
* Use 127.0.0.1 as localhost name resolving might fail on some systems
Selenium 2.42.1
* Fixed Py3 issues
* Make firefox_binary.py and firefox_profile.py not executable
* Make exceptions Python 3 compatible
Selenium 2.42
* Support for Firefox 29 Native Events
* "remote_url" and "remote_browser" parameters for "./go test_remote".
* missing __init__ in new android module
* issue #7304 Fix memory leak caused by __del__ in PhantomJS
* File upload using remotedriver on python3
* Updating xpi install to align with mozprofile
* command_executor should also support unicode strings as well.
Selenium 2.41
* Support for Firefox 28
* deprecating switch_to_* in favour of driver.switch_to.*
Selenium 2.40
* Support for Firefox 27
* Fixes related to http connection
* Fix for phantomjs running on windows #6736
Selenium 2.39
* Support for Firefox 26
Selenium 2.38.4
* keep-alive can't be used for phantomjs / IE, fix for that and tested for py3 :)
Selenium 2.38.3
* really supporting py3 :)
Selenium 2.38.2
* py3 support (once again)
Selenium 2.38.1
* fix packaging problem where firefox/webdriver_prefs.json was missing
Selenium 2.38
* Support for Firefox 25
* FirefoxProfile now using common webdriver.json instead of having our own copy in py
- behavior change to the preferences is that they now should be treated
like raw types rather than strings and allow the json library to translate
the types appropriated (e.g. True => true)
* Set proper 'Accept' request header so that Python bindings work with some old WebDriver implementations that reply 404 to requests with no 'Accept' set.
* handle redirect response explicitly (since switching to using keep-alive)
* phantomjs service needs to really kill the spawned process Issue #5921
* removing old api endpoints from command listing
* using keep-alive for remote connection
* adjusting phantomjs subprocess.Popen
* ActionsChains.send_keys should use <session>/keys endpoint Issue #6348
* fix TypeError in chrome_options.extensions for Python3.x
* Other Bugs Fixed: #6531, #6513, #4569, #6454
Selenium 2.37.2
* fix regression added with unicode fix
* Bug fix #6360
Selenium 2.37.1
* fix find_elements on webelement using unicode locators and py 2.7
Selenium 2.37
* repackage with fix for Firefox native events on Linux
* fix issue with unicode By locators w/ python 2.7 #6430
Selenium 2.36
* Added Safari WebDriver. Fixes issue 5352.
* fix platform for safari caps
* Convert all offsets/coordinates/speeds into integers
* Fix drag and drop by offset behaviour
* Fix initialization of Proxy by capabilities when proxyType is set
* Enable SOCKS proxy support
* Validation of passed locator for find_element(s) methods #5690
* Adding support for /status, /sessions commands
* Doc fixes
* ability to set Chrome extensions by using base64 encoded strings #4013
* fix logic regarding Select.select_by_visible_text #3910
* Bugs fixed: #6165, #6231
Selenium 2.35
* Remove duplicate 'get screenshot as file' methods. Add method 'get_screenshot_as_png'
* fixing UnicodeEncodeError on get attribute of webelement
Selenium 2.34
* Corrected webdriverbackedselenium session handling. Fixes issue 4283
* Corrected use of basestring for python 3. Fixes issue 5924
* Support for Firefox 22
* Added support for logging from the browser
* corrected proxy handling on FirefoxProfile
* Corrected handling of chrome extensions. Fixes issue 5762
Selenium 2.33
* getText() ignores elements in the <head>
* Adding both official and informal string representations to Color object.
* Replace distutils.dir_util by shutil
* Allow finding firefox binary at ProgramFiles(x86) on windows(64 bit)
* Py3 compatible winreg import and content-type access
Selenium 2.32
* Support for FF20 Native Events
* Python 3 support
* Misc Python 3 patches
* Allow easy FirefoxBinary subclassing
Selenium 2.31
* Support for FF19 native events
* web element equality is now in conformance with other language bindings
Selenium 2.30
* Allow env to be specified for the chromedriver service
* Allow log path to be specified for phantomjs driver service.
* Bug Fixes: 4608 4940 4974 5034 5075
Selenium 2.29
* Allow subclassing of driver and have the ability to send_keys Issue 4877, 5017
* Simplifying save_screenshot and allow phantomjs to take screenshots
Selenium 2.28
* "null" can now be passed to executeScript
* Add transparent and extended colour keywords to color support module. Fixes issue 4866
Selenium 2.27
* Added support for phantomjs / ghostdriver
* Fix python client, avoid duplicate chrome option items after reusing options class. Fixes Issue 4744.
* adding colour support to Python. fixes issue 4623
* Adding log_path/service_log_path as named kwargs for chrome
Selenium 2.26
* Added location_when_scrolled_into_view - Bug 4357
* Added new expected_conditions support module to be used with WebDriverWait
Selenium 2.25
* Jython 2.7 Support - Bug 3988
* EventFiringWebDriver added to Support module - Bug 2267
* Added IEDriverServer logging that can be accessed via desired capabilities
* Fixed by data being passed into find_elements - bug 3735
* Removed deprecated ChromeDriver items around desiredcapabilites in favour of chrome options
* Added default values for a number of action_chains calls
Selenium 2.24
* Removing the ctypes approach of invoking IEDriver, you will need to download the IEDriverServer from
https://code.google.com/p/selenium/downloads/list
Selenium 2.23
* Support for FF13 native events
Selenium 2.22
* Moving IEDriver to be able to use IEDriverServer
Selenium 2.21.3
* Fix for File Upload to remote servers
* Better handling of typing in input=file. Bug 3831, 3736
* Better handling of unicode URLS Bug 3740
Selenium 2.21.2
* Fix typing to file input when not using Selenium Server. Bug 3736
Selenium 2.21.1
* focusmanager.testmode messes with native events, removing it.
Selenium 2.21
* Local File upload capabilities for non-remote browser
* Adding maximize_window api call
* Updating default firefox profile to set focusmanager.testmode to true
see https://bugzilla.mozilla.org/show_bug.cgi?id=704583
* bugs fixed: 3506, 3528, 3607
Selenium 2.20
* disable native events for FF on Mac by default
* fix webdriverwait to execute at least once when using 0 timeout
* Fixed Issue 3438
Selenium 2.19
* WebDriverBackedSelenium is now avalaible to all languages
* Addon installation fixes
Selenium 2.18
* Proxy capabilities passing
Selenium 2.17
* OperaDriver can now be invoked by webdriver.Opera()
* Support has been added for ChomeOptions. This deprecates support passing in DesiredCapabilities
* Proxy class to tell the browser a proxy is in use. Currently only for Firefox
Selenium 2.16
* bug fixes
Selenium 2.15
* bug fixes
Selenium 2.14
* Fix for LD_PRELOAD being polluted by WebDriver
* Added Orientation API
* A fix for Error Handling
Selenium 2.13
* Fixed switch_to_window so that it didnt crash Firefox Bug 2633
* Fixed Screenshot handling to work in all browsers. Bug 2829
* Force Firefox to the Foreground
Selenium 2.12
* Added Select as a support pacakge
* Added Beta window size / position api's
* Bug Fixes
Selenium 2.11.0 2.11.1
* no changes just packaging
Selenum 2.10
* "Choose which apps" dialog has been disabled
* Bug Fixes
Selenium 2.9
* Bug Fixes
* Documentation
Selenium 2.8
* Actions updates
* Bug Fixes
Selenium 2.6
* Documentation fixes
Selenium 2.5
* Fixed x64 IE Support
* Bug Fixes
Selenium 2.4
* Bug Fixes
* x64 IE Support
* Added WebDriverWait as a support package
Selenium 2.3
* Bug Fixes
Selenium 2.2
* Ability to get screenshots from Exceptions if they are given
* Access to Remote StackTrace on error
Selenium 2.1
* Bug Fixes
Selenium 2
* Removed toggle() and select()
Selenium 2 RC 3
* Added Opera to Desired Capabilities
* Removed deprecrated methods
* Deprecated toggle() and select() methods. This will be removed in the next release
Selenium 2 Beta 4
* Fix for using existing Firefox Profiles
* Alerts Support in IE
* Fix to dictionary returned from size
* Deprecated value property. Use the get_attribute("value") method
* Deprecated get_page_source method. Use page_source property
* Deprecated get_current_window_handle. Use current_window_handle property
* Deprecated get_window_handles. Use window_handles property
* Ability to install extensions into profiles
* Added Location to the WebElement
* ChromeDriver rewritten to use new built in mechanism
* Added Advanced User Interaction API. Only Available for HTMLUnit at the moment
* Profiles now delete their temp folders when driver.quit() is called
Selenium 2 Beta 3
* Accept Untrusted Certificates in Firefox
* Fixed Screenshots
* Added DesiredCapabilities to simplify choosing Drivers
* Fixed Firefox Profile creation
* Added Firefox 4 support
* DocStrings Improvements
Selenium 2 Beta 2
* New bindings landed. Change webdriver namespace to "selenium.webdriver"
* Ability to move to default content
* Implicit Waits
* Change the API to use properties instead of get_x
* Changed the Element Finding to match other languages
* Added ability to execute asynchronous scripts from the driver
* Ability to get rendered element size
* Ability to get CSS Value on a webelement
* Corrected Element finding from the element
* Alert and Prompt handling
* Improved IEDriver
* Basic Authentication support for Selenium 2
* Ability to have multiple Firefox instances