seleniumbase 4.24.12__py3-none-any.whl → 4.25.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- seleniumbase/__version__.py +1 -1
- seleniumbase/core/browser_launcher.py +12 -7
- seleniumbase/undetected/webelement.py +4 -1
- {seleniumbase-4.24.12.dist-info → seleniumbase-4.25.0.dist-info}/METADATA +12 -9
- {seleniumbase-4.24.12.dist-info → seleniumbase-4.25.0.dist-info}/RECORD +9 -9
- {seleniumbase-4.24.12.dist-info → seleniumbase-4.25.0.dist-info}/LICENSE +0 -0
- {seleniumbase-4.24.12.dist-info → seleniumbase-4.25.0.dist-info}/WHEEL +0 -0
- {seleniumbase-4.24.12.dist-info → seleniumbase-4.25.0.dist-info}/entry_points.txt +0 -0
- {seleniumbase-4.24.12.dist-info → seleniumbase-4.25.0.dist-info}/top_level.txt +0 -0
seleniumbase/__version__.py
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
# seleniumbase package
|
2
|
-
__version__ = "4.
|
2
|
+
__version__ = "4.25.0"
|
@@ -27,6 +27,7 @@ from seleniumbase.core import download_helper
|
|
27
27
|
from seleniumbase.core import proxy_helper
|
28
28
|
from seleniumbase.core import sb_driver
|
29
29
|
from seleniumbase.fixtures import constants
|
30
|
+
from seleniumbase.fixtures import js_utils
|
30
31
|
from seleniumbase.fixtures import shared_utils
|
31
32
|
|
32
33
|
urllib3.disable_warnings()
|
@@ -406,9 +407,9 @@ def uc_open(driver, url):
|
|
406
407
|
elif ":" not in url:
|
407
408
|
url = "https://" + url
|
408
409
|
if (url.startswith("http:") or url.startswith("https:")):
|
409
|
-
time.sleep(0.05)
|
410
410
|
with driver:
|
411
|
-
|
411
|
+
script = 'window.location.href = "%s";' % url
|
412
|
+
js_utils.call_me_later(driver, script, 33)
|
412
413
|
else:
|
413
414
|
driver.default_get(url) # The original one
|
414
415
|
return None
|
@@ -420,7 +421,6 @@ def uc_open_with_tab(driver, url):
|
|
420
421
|
elif ":" not in url:
|
421
422
|
url = "https://" + url
|
422
423
|
if (url.startswith("http:") or url.startswith("https:")):
|
423
|
-
time.sleep(0.05)
|
424
424
|
with driver:
|
425
425
|
driver.execute_script('window.open("%s","_blank");' % url)
|
426
426
|
driver.close()
|
@@ -439,7 +439,9 @@ def uc_open_with_reconnect(driver, url, reconnect_time=None):
|
|
439
439
|
elif ":" not in url:
|
440
440
|
url = "https://" + url
|
441
441
|
if (url.startswith("http:") or url.startswith("https:")):
|
442
|
-
|
442
|
+
script = 'window.open("%s","_blank");' % url
|
443
|
+
js_utils.call_me_later(driver, script, 3)
|
444
|
+
time.sleep(0.007)
|
443
445
|
driver.close()
|
444
446
|
driver.reconnect(reconnect_time)
|
445
447
|
driver.switch_to.window(driver.window_handles[-1])
|
@@ -3878,7 +3880,7 @@ def get_local_driver(
|
|
3878
3880
|
service=service, options=chrome_options
|
3879
3881
|
)
|
3880
3882
|
return extend_driver(driver)
|
3881
|
-
except Exception:
|
3883
|
+
except Exception as original_exception:
|
3882
3884
|
if is_using_uc(undetectable, browser_name):
|
3883
3885
|
raise
|
3884
3886
|
# Try again if Chrome didn't launch
|
@@ -3914,8 +3916,11 @@ def get_local_driver(
|
|
3914
3916
|
log_output=os.devnull,
|
3915
3917
|
service_args=["--disable-build-check"]
|
3916
3918
|
)
|
3917
|
-
|
3918
|
-
|
3919
|
+
try:
|
3920
|
+
driver = webdriver.Chrome(service=service)
|
3921
|
+
return extend_driver(driver)
|
3922
|
+
except Exception:
|
3923
|
+
raise original_exception
|
3919
3924
|
else:
|
3920
3925
|
raise Exception(
|
3921
3926
|
"%s is not a valid browser option for this system!" % browser_name
|
@@ -12,7 +12,10 @@ class WebElement(selenium.webdriver.remote.webelement.WebElement):
|
|
12
12
|
tag_name=None,
|
13
13
|
):
|
14
14
|
if driver and selector and by:
|
15
|
-
|
15
|
+
delayed_click = False
|
16
|
+
if tag_name == "span" or tag_name == "button" or tag_name == "div":
|
17
|
+
delayed_click = True
|
18
|
+
if delayed_click and ":contains" not in selector:
|
16
19
|
selector = js_utils.convert_to_css_selector(selector, by)
|
17
20
|
script = 'document.querySelector("%s").click();' % selector
|
18
21
|
js_utils.call_me_later(driver, script, 111)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: seleniumbase
|
3
|
-
Version: 4.
|
3
|
+
Version: 4.25.0
|
4
4
|
Summary: A complete web automation framework for end-to-end testing.
|
5
5
|
Home-page: https://github.com/seleniumbase/SeleniumBase
|
6
6
|
Author: Michael Mintz
|
@@ -70,7 +70,7 @@ Requires-Dist: idna ==3.6
|
|
70
70
|
Requires-Dist: chardet ==5.2.0
|
71
71
|
Requires-Dist: charset-normalizer ==3.3.2
|
72
72
|
Requires-Dist: requests ==2.31.0
|
73
|
-
Requires-Dist: pynose ==1.5.
|
73
|
+
Requires-Dist: pynose ==1.5.1
|
74
74
|
Requires-Dist: sniffio ==1.3.1
|
75
75
|
Requires-Dist: h11 ==0.14.0
|
76
76
|
Requires-Dist: outcome ==1.3.0.post0
|
@@ -114,11 +114,11 @@ Requires-Dist: markdown-it-py ==2.2.0 ; python_version < "3.8"
|
|
114
114
|
Requires-Dist: urllib3 <2.3.0,>=1.26.18 ; python_version >= "3.10"
|
115
115
|
Requires-Dist: setuptools >=69.2.0 ; python_version >= "3.8"
|
116
116
|
Requires-Dist: wheel >=0.43.0 ; python_version >= "3.8"
|
117
|
-
Requires-Dist: filelock >=3.13.
|
117
|
+
Requires-Dist: filelock >=3.13.3 ; python_version >= "3.8"
|
118
118
|
Requires-Dist: platformdirs >=4.2.0 ; python_version >= "3.8"
|
119
119
|
Requires-Dist: typing-extensions >=4.10.0 ; python_version >= "3.8"
|
120
120
|
Requires-Dist: trio ==0.25.0 ; python_version >= "3.8"
|
121
|
-
Requires-Dist: selenium ==4.
|
121
|
+
Requires-Dist: selenium ==4.19.0 ; python_version >= "3.8"
|
122
122
|
Requires-Dist: pluggy ==1.4.0 ; python_version >= "3.8"
|
123
123
|
Requires-Dist: pytest ==8.1.1 ; python_version >= "3.8"
|
124
124
|
Requires-Dist: pytest-metadata ==3.1.1 ; python_version >= "3.8"
|
@@ -126,13 +126,14 @@ Requires-Dist: pytest-rerunfailures ==14.0 ; python_version >= "3.8"
|
|
126
126
|
Requires-Dist: soupsieve ==2.5 ; python_version >= "3.8"
|
127
127
|
Requires-Dist: markdown-it-py ==3.0.0 ; python_version >= "3.8"
|
128
128
|
Provides-Extra: allure
|
129
|
-
Requires-Dist: allure-pytest ==2.13.
|
130
|
-
Requires-Dist: allure-python-commons ==2.13.
|
131
|
-
Requires-Dist: allure-behave ==2.13.
|
129
|
+
Requires-Dist: allure-pytest ==2.13.4 ; extra == 'allure'
|
130
|
+
Requires-Dist: allure-python-commons ==2.13.4 ; extra == 'allure'
|
131
|
+
Requires-Dist: allure-behave ==2.13.4 ; extra == 'allure'
|
132
132
|
Provides-Extra: coverage
|
133
|
-
Requires-Dist: pytest-cov ==4.1.0 ; extra == 'coverage'
|
134
133
|
Requires-Dist: coverage ==7.2.7 ; (python_version < "3.8") and extra == 'coverage'
|
134
|
+
Requires-Dist: pytest-cov ==4.1.0 ; (python_version < "3.8") and extra == 'coverage'
|
135
135
|
Requires-Dist: coverage ==7.4.4 ; (python_version >= "3.8") and extra == 'coverage'
|
136
|
+
Requires-Dist: pytest-cov ==5.0.0 ; (python_version >= "3.8") and extra == 'coverage'
|
136
137
|
Provides-Extra: flake8
|
137
138
|
Requires-Dist: mccabe ==0.7.0 ; extra == 'flake8'
|
138
139
|
Requires-Dist: flake8 ==5.0.4 ; (python_version < "3.9") and extra == 'flake8'
|
@@ -145,7 +146,7 @@ Provides-Extra: ipdb
|
|
145
146
|
Requires-Dist: ipdb ==0.13.13 ; extra == 'ipdb'
|
146
147
|
Requires-Dist: ipython ==7.34.0 ; extra == 'ipdb'
|
147
148
|
Provides-Extra: pdfminer
|
148
|
-
Requires-Dist: pycparser ==2.
|
149
|
+
Requires-Dist: pycparser ==2.22 ; extra == 'pdfminer'
|
149
150
|
Requires-Dist: pdfminer.six ==20221105 ; (python_version < "3.8") and extra == 'pdfminer'
|
150
151
|
Requires-Dist: cffi ==1.15.1 ; (python_version < "3.8") and extra == 'pdfminer'
|
151
152
|
Requires-Dist: cryptography ==39.0.2 ; (python_version < "3.9") and extra == 'pdfminer'
|
@@ -155,6 +156,8 @@ Requires-Dist: cryptography ==42.0.5 ; (python_version >= "3.9") and extra == 'p
|
|
155
156
|
Provides-Extra: pillow
|
156
157
|
Requires-Dist: Pillow ==9.5.0 ; (python_version < "3.8") and extra == 'pillow'
|
157
158
|
Requires-Dist: Pillow ==10.2.0 ; (python_version >= "3.8") and extra == 'pillow'
|
159
|
+
Provides-Extra: pip-system-certs
|
160
|
+
Requires-Dist: pip-system-certs ==4.0 ; (platform_system == "Windows") and extra == 'pip-system-certs'
|
158
161
|
Provides-Extra: proxy
|
159
162
|
Requires-Dist: proxy.py ==2.4.3 ; extra == 'proxy'
|
160
163
|
Provides-Extra: psutil
|
@@ -5,7 +5,7 @@ sbase/steps.py,sha256=bKT_u5bJkKzYWEuAXi9NVVRYYxQRCM1_YJUrNFFRVPY,42865
|
|
5
5
|
seleniumbase/ReadMe.md,sha256=4nEdto4d0Ch0Zneg0yAC-RBBdqRqPUP0SCo-ze_XDPM,3612
|
6
6
|
seleniumbase/__init__.py,sha256=Mw4ShIWUF2Efjx-JuwUQLWF9nIbxcX-vu9AOGBp32ec,2123
|
7
7
|
seleniumbase/__main__.py,sha256=dn1p6dgCchmcH1zzTzzQvFwwdQQqnTGH6ULV9m4hv24,654
|
8
|
-
seleniumbase/__version__.py,sha256=
|
8
|
+
seleniumbase/__version__.py,sha256=KSzvln4mFv8ChtLQFgg4f_icZ0x9lEj-1w9M2uIQb3o,46
|
9
9
|
seleniumbase/behave/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
10
10
|
seleniumbase/behave/behave_helper.py,sha256=elkl8P9eLulRAioLstE9baYNM9N_PHBmAOcajX-pH_Y,24198
|
11
11
|
seleniumbase/behave/behave_sb.py,sha256=rpSKGufjzKeoiTqsr1HChNu1fY68CMirr5mgff--LHs,56291
|
@@ -40,7 +40,7 @@ seleniumbase/console_scripts/sb_print.py,sha256=yo641b_OdSE0GUauOyxk-QrNeIjYzbRY
|
|
40
40
|
seleniumbase/console_scripts/sb_recorder.py,sha256=2QQov64Erfnm1hnVleKX-c_llcsO6hhJKKxzcANcix0,10904
|
41
41
|
seleniumbase/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
42
42
|
seleniumbase/core/application_manager.py,sha256=e_0sjtI8cjY5BNyZj1QBR0j6_oCScxGmSXYEpcYwuZE,576
|
43
|
-
seleniumbase/core/browser_launcher.py,sha256=
|
43
|
+
seleniumbase/core/browser_launcher.py,sha256=xlZqxbA4p3zIpsXGAcJYr-09OtykvdIsDoj6yyOPKYw,166053
|
44
44
|
seleniumbase/core/capabilities_parser.py,sha256=meIS2uHapTCq2ldfNAToC7r0cKmZDRXuYNKExM1GHDY,6038
|
45
45
|
seleniumbase/core/colored_traceback.py,sha256=DrRWfg7XEnKcgY59Xj7Jdk09H-XqHYBSUpB-DiZt6iY,2020
|
46
46
|
seleniumbase/core/create_db_tables.sql,sha256=VWPtrdiW_HQ6yETHjqTu-VIrTwvd8I8o1NfBeaVSHpU,972
|
@@ -120,7 +120,7 @@ seleniumbase/undetected/dprocess.py,sha256=WWQ_X_-Q7Lfx1m6oxkYHU0eTIc76Jodph4n1Q
|
|
120
120
|
seleniumbase/undetected/options.py,sha256=SGuz8iqlVPYN7IexNiGauupWF0xP3mqO72-9tgIqeuI,2999
|
121
121
|
seleniumbase/undetected/patcher.py,sha256=u8X3uFBCTJ4XcU09AWpbDyPc-dm2LM-YeuciCp5AEdM,10853
|
122
122
|
seleniumbase/undetected/reactor.py,sha256=UT1pEnGaTPZT7-0-xKROk9_eWDZueGzSUrCksc22nyA,2883
|
123
|
-
seleniumbase/undetected/webelement.py,sha256=
|
123
|
+
seleniumbase/undetected/webelement.py,sha256=RXOxTRZStVgtOASkGGA_0dnhrATMIG4-NVw3dvIqIME,1247
|
124
124
|
seleniumbase/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
125
125
|
seleniumbase/utilities/selenium_grid/ReadMe.md,sha256=Uqvn4KmhaMY_jrhcsxL2WptCukPq1J3Yz-9WenCXEu0,3599
|
126
126
|
seleniumbase/utilities/selenium_grid/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -137,9 +137,9 @@ seleniumbase/utilities/selenium_grid/start-grid-hub.sh,sha256=KADv0RUHONLL2_I443
|
|
137
137
|
seleniumbase/utilities/selenium_ide/ReadMe.md,sha256=hznGeuMpkIimqMiZBW-4goIy2ltW4l8X9kb0YSPUQfE,4483
|
138
138
|
seleniumbase/utilities/selenium_ide/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
139
139
|
seleniumbase/utilities/selenium_ide/convert_ide.py,sha256=pZFnqEJQEKZPyNFjkLD29s2HPQgCrWW9XJWpCPhWOoM,31691
|
140
|
-
seleniumbase-4.
|
141
|
-
seleniumbase-4.
|
142
|
-
seleniumbase-4.
|
143
|
-
seleniumbase-4.
|
144
|
-
seleniumbase-4.
|
145
|
-
seleniumbase-4.
|
140
|
+
seleniumbase-4.25.0.dist-info/LICENSE,sha256=odSYtWibXBnQ1gBg6CnDZ82n8kLF_if5-2nbqnEyD8k,1085
|
141
|
+
seleniumbase-4.25.0.dist-info/METADATA,sha256=QnnZkS4EmD-AvLLF246W5KELQveBruWPxuc0JgISwXY,84122
|
142
|
+
seleniumbase-4.25.0.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
143
|
+
seleniumbase-4.25.0.dist-info/entry_points.txt,sha256=CNrh2EKNaHYEhO6pP1RJyVLB99LkDDYX7TnUK8xfjqk,623
|
144
|
+
seleniumbase-4.25.0.dist-info/top_level.txt,sha256=4N97aBOQ8ETCnDnokBsWb07lJfTaq3C1ZzYRxvLMxqU,19
|
145
|
+
seleniumbase-4.25.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|