Commit Graph

326 Commits

Author SHA1 Message Date
Leon 822100aaef
new art 2023-09-15 20:45:19 +02:00
Leon cea80717c5
3.5.3
Sorry for not getting earlier at this, my pc had a complete meltdown, m2, and gpu both dead.
picking up a new one this afternoon.

thanks to @jdholtz :

This PR adds support for downloading Chromedriver versions 115+. This is necessary due to the Chromium team's change to Chromedriver's release process (see here).

If the version_main is 114 or older, the Chromedriver will still be downloaded using LATEST_RELEASE_{version}. If the version_main is specified and is 115+, the /latest-versions-per-milestone-with-downloads.json from the new JSON endpoint is used and the version is selected from the corresponding milestone. Last, if the version_main is not specified, the /last-known-good-versions-with-downloads.json endpoint is used to fetch the latest stable version.

In contrast with #1427, this PR uses the new JSON endpoints instead of reverting back to old versions if the LATEST_RELEASE endpoint isn't found (causing version discrepancy errors).

I also added compatibility for installing x86 and arm64 for Mac separately since the platform names changed for the new endpoints. However, I have only tested on Linux and Windows so it would be great if someone could test on Mac (x86 and ARM) It has been tested on Linux, Windows, and Mac with success. The Chromedriver doesn't work on ARM devices when downloading the ARM chromedriver, but it seems to work fine with the x64 version (possibly with Rosetta installed).

This also allows for users to download the Dev and Beta versions (currently 117 and 118) if they specify it using version_main.
2023-08-25 11:57:31 +02:00
Leon 01417d08e5
Merge pull request #1478 from jdholtz/115-compatibility
Add support for downloading Chromedriver versions 115+
2023-08-25 11:52:59 +02:00
jdholtz 29551bd279
Remove ARM specification for Macs
Apparently the x64 version works on ARM devices with Mac, so the
platform now just chooses the correct platform name based on the
Chromedriver version requested
2023-08-16 22:14:46 -05:00
jdholtz 1ef8e8cead
Fix reference to is_old_chromedriver when setting platform name 2023-08-16 21:18:21 -05:00
jdholtz 0ae871fed3
Fix architecture checks for Mac devices 2023-08-16 20:43:16 -05:00
jdholtz f91b7d86bc
Extract all contents from zip file when downloading Chromedriver
Extracting just one file that was in a directory caused an error on
Windows. Extracting all fixes this issue.
2023-08-16 11:05:49 -05:00
jdholtz 9102a51636
Set exe name before using it 2023-08-16 08:09:01 -05:00
jdholtz 25877fd95a
Add support for Chromedriver versions 115+ 2023-08-16 07:42:07 -05:00
Leon a415e40b0b
3.5.2 - minor changes and fixes
3.5.2 - Minor changes and fixes

* removed search paths for Chrome Canary and Chrome Beta from find_chrome_executable() since chromedriver is always behind schedule so that means a driver for newer versions than current main could not be found and raises Exception.

* Changed/Fixed wrong binary version caused by patcher. Due to multi-threading people and a mistake fromy my side, the driver binary currently on disk was always used instead of getting new ones. even if you did not use multithreading. so even outdated binaries where kept, hence many people got the dreaded "wrong version" error.

- so for multithreading people, it now only keeps the most recent binary and throws away others.
- for normal people, you will get a fresh binary, like you deserve ;)

* Added more descriptive exceptions when Chrome binary could not be found origin no connection could be made to Chrome.

* some stuff i forgot, like bumping version on pypa so it installs correct version :)
2023-08-09 20:02:05 +02:00
unknown 44c5ea7127 3.5.2 - Minor changes and fixes
* removed search paths for Chrome Canary and Chrome Beta from find_chrome_executable()
    since chromedriver is always behind schedule so that means a driver for newer versions than current main could not be found and raises Exception.

* Changed/Fixed wrong binary version caused by patcher.
  Due to multi-threading people and a mistake fromy my side,
  the driver binary currently on disk was always used instead of getting new ones. even if you did not use multithreading.
  so even outdated binaries where kept!
  for multithreading people, it now only keeps the most recent binary and throws away others.
  for normal people, you will get the binary you deserve ;)

* Added more descriptive exceptions when Chrome binary could not be found origin
  no connection could be made to Chrome.

* some stuff i forgot
2023-08-09 19:55:16 +02:00
Leon 1f3d410763
Merge pull request #1440 from ultrafunkamsterdam/ultrafunkamsterdam-patch-1-1
version bump
2023-08-08 01:03:09 +02:00
Leon 5edd9a71ca
Merge pull request #1439 from ultrafunkamsterdam/ultrafunkamsterdam-patch-1
fix using older driver binary when present in directory
2023-08-08 01:02:12 +02:00
Leon a0712f87cb
Update __init__.py 2023-08-08 01:01:22 +02:00
Leon f3a8a62908
Update patcher.py 2023-08-08 01:00:07 +02:00
Leon 8049384e5a
Update __init__.py 2023-08-08 00:56:49 +02:00
Leon 47234b0b13
update patcher, so it does not use older chromedriver binary. 2023-08-08 00:55:40 +02:00
Leon 1c704a71cf
update README to show importance of IP 2023-06-12 13:46:59 +02:00
Leon bc1445aac7
3.5.0 2023-06-12 12:22:17 +02:00
UltrafunkAmsterdam 2b035b4ea1 compatible with selenium 4.10.
also removed service_args, service_creationflags, service_log_path from constructor. added find_elements_recursive helper function
2023-06-12 11:30:57 +02:00
Leon ebd3508a03
Update workflow.yml 2023-06-03 03:52:04 +02:00
Leon 3611632182
Update workflow.yml 2023-06-03 03:50:07 +02:00
Leon 38ac0c1529
Update test_workflow.py 2023-06-03 03:48:29 +02:00
Leon 6d352fbfa6
Update test_workflow.py 2023-06-03 03:46:07 +02:00
Leon b6618390f8
Update workflow.yml 2023-06-03 03:08:47 +02:00
Leon b59d9fa47e
Update test_workflow.py 2023-06-03 03:07:09 +02:00
Leon 250ee98bb7
Update test_workflow.py 2023-06-03 02:51:05 +02:00
Leon 0c197a6b9b
Update test_workflow.py 2023-06-03 02:39:06 +02:00
Leon f2d1273dc4
Update test_workflow.py 2023-06-03 02:30:50 +02:00
Leon dc7dd12f05
Update test_workflow.py 2023-06-03 02:10:26 +02:00
Leon 618e47de35
Update test_workflow.py 2023-06-03 02:06:49 +02:00
Leon 7ebd4033be
Update test_workflow.py 2023-06-03 02:01:52 +02:00
Leon c2180df88f
Update test_workflow.py 2023-06-03 01:54:59 +02:00
Leon 04f45c0823
Update test_workflow.py 2023-06-03 01:53:42 +02:00
Leon dc56f5b33b
Update test_workflow.py 2023-06-03 01:47:52 +02:00
Leon 6452781268
Update test_workflow.py 2023-06-03 01:43:50 +02:00
Leon 4163340324
Update test_workflow.py 2023-06-03 01:40:27 +02:00
Leon 3c3fda228a
Update test_workflow.py 2023-06-03 01:34:28 +02:00
Leon 073c94f6a9
Update test_workflow.py 2023-06-03 01:32:04 +02:00
Leon c53876a83a
Update test_workflow.py 2023-06-03 01:31:47 +02:00
Leon e10ac0382b
Update test_workflow.py 2023-06-03 00:40:33 +02:00
Leon bebcdc21b5
Update workflow.yml 2023-06-03 00:34:07 +02:00
Leon 591fe54cc1
Update test_workflow.py 2023-06-03 00:23:28 +02:00
Leon 0ecf670b57
Update test_workflow.py 2023-06-03 00:21:24 +02:00
Leon bd81310c26
Update workflow.yml 2023-06-03 00:15:57 +02:00
Leon 4db5ce60c5
Update test_workflow.py 2023-06-03 00:10:28 +02:00
Leon 4e81361ced
Update test_workflow.py 2023-06-03 00:06:25 +02:00
Leon 5c78b7cca3
Update test_workflow.py 2023-06-02 23:56:53 +02:00
Leon cbb1cd268d
Update workflow.yml 2023-06-02 23:55:06 +02:00
Leon b23d189209
Update workflow.yml 2023-06-02 23:51:11 +02:00