seleniumbase 4.41.12__py3-none-any.whl → 4.42.1__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 +4 -1
- seleniumbase/fixtures/base_case.py +14 -0
- seleniumbase/fixtures/shared_utils.py +13 -1
- seleniumbase/undetected/cdp_driver/config.py +9 -6
- {seleniumbase-4.41.12.dist-info → seleniumbase-4.42.1.dist-info}/METADATA +10 -9
- {seleniumbase-4.41.12.dist-info → seleniumbase-4.42.1.dist-info}/RECORD +11 -11
- {seleniumbase-4.41.12.dist-info → seleniumbase-4.42.1.dist-info}/WHEEL +0 -0
- {seleniumbase-4.41.12.dist-info → seleniumbase-4.42.1.dist-info}/entry_points.txt +0 -0
- {seleniumbase-4.41.12.dist-info → seleniumbase-4.42.1.dist-info}/licenses/LICENSE +0 -0
- {seleniumbase-4.41.12.dist-info → seleniumbase-4.42.1.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.42.1"
|
@@ -2664,6 +2664,8 @@ def _set_chrome_options(
|
|
2664
2664
|
included_disabled_features.append(item)
|
2665
2665
|
d_f_string = ",".join(included_disabled_features)
|
2666
2666
|
chrome_options.add_argument("--disable-features=%s" % d_f_string)
|
2667
|
+
if proxy_auth:
|
2668
|
+
chrome_options.add_argument("--test-type")
|
2667
2669
|
if (
|
2668
2670
|
is_using_uc(undetectable, browser_name)
|
2669
2671
|
and (
|
@@ -2681,7 +2683,8 @@ def _set_chrome_options(
|
|
2681
2683
|
chrome_options.add_argument("--disable-popup-blocking")
|
2682
2684
|
# Skip remaining options that trigger anti-bot services
|
2683
2685
|
return chrome_options
|
2684
|
-
|
2686
|
+
if not proxy_auth:
|
2687
|
+
chrome_options.add_argument("--test-type")
|
2685
2688
|
chrome_options.add_argument("--log-level=3")
|
2686
2689
|
chrome_options.add_argument("--no-first-run")
|
2687
2690
|
chrome_options.add_argument("--allow-insecure-localhost")
|
@@ -5419,6 +5419,20 @@ class BaseCase(unittest.TestCase):
|
|
5419
5419
|
)
|
5420
5420
|
):
|
5421
5421
|
srt_actions[n][0] = "_skip"
|
5422
|
+
for n in range(len(srt_actions)):
|
5423
|
+
if (
|
5424
|
+
(srt_actions[n][0] == "begin" or srt_actions[n][0] == "_url_")
|
5425
|
+
and n > 1
|
5426
|
+
and (
|
5427
|
+
srt_actions[n - 1][0] == "f_url"
|
5428
|
+
or srt_actions[n - 1][0] == "_url_"
|
5429
|
+
)
|
5430
|
+
and srt_actions[n][2] == srt_actions[n - 1][2]
|
5431
|
+
and (
|
5432
|
+
int(srt_actions[n][3]) - int(srt_actions[n - 1][3]) < 4800
|
5433
|
+
)
|
5434
|
+
):
|
5435
|
+
srt_actions[n][0] = "_skip"
|
5422
5436
|
for n in range(len(srt_actions)):
|
5423
5437
|
if (
|
5424
5438
|
srt_actions[n][0] == "input"
|
@@ -29,8 +29,20 @@ def pip_install(package, version=None):
|
|
29
29
|
)
|
30
30
|
|
31
31
|
|
32
|
+
def is_arm_linux():
|
33
|
+
"""Returns True if machine is ARM Linux.
|
34
|
+
This will be useful once Google adds
|
35
|
+
support for ARM Linux ChromeDriver.
|
36
|
+
(Raspberry Pi uses ARM architecture.)"""
|
37
|
+
return (
|
38
|
+
platform.system() == "Linux"
|
39
|
+
and platform.machine() == "aarch64"
|
40
|
+
)
|
41
|
+
|
42
|
+
|
32
43
|
def is_arm_mac():
|
33
|
-
"""
|
44
|
+
"""Returns True if machine is ARM Mac.
|
45
|
+
(Eg. M1 / M2 Macs use ARM processors)"""
|
34
46
|
return (
|
35
47
|
"darwin" in sys.platform
|
36
48
|
and (
|
@@ -150,11 +150,6 @@ class Config:
|
|
150
150
|
"--disable-renderer-backgrounding",
|
151
151
|
"--disable-background-networking",
|
152
152
|
"--disable-dev-shm-usage",
|
153
|
-
"--disable-features=IsolateOrigins,site-per-process,Translate,"
|
154
|
-
"InsecureDownloadWarnings,DownloadBubble,DownloadBubbleV2,"
|
155
|
-
"OptimizationTargetPrediction,OptimizationGuideModelDownloading,"
|
156
|
-
"SidePanelPinning,UserAgentClientHint,PrivacySandboxSettings4,"
|
157
|
-
"DisableLoadExtensionCommandLineSwitch",
|
158
153
|
]
|
159
154
|
|
160
155
|
@property
|
@@ -202,7 +197,15 @@ class Config:
|
|
202
197
|
# By the time it starts, the port is probably already taken.
|
203
198
|
args = self._default_browser_args.copy()
|
204
199
|
args += ["--user-data-dir=%s" % self.user_data_dir]
|
205
|
-
args += [
|
200
|
+
args += [
|
201
|
+
"--disable-features=IsolateOrigins,site-per-process,Translate,"
|
202
|
+
"InsecureDownloadWarnings,DownloadBubble,DownloadBubbleV2,"
|
203
|
+
"OptimizationTargetPrediction,OptimizationGuideModelDownloading,"
|
204
|
+
"SidePanelPinning,UserAgentClientHint,PrivacySandboxSettings4,"
|
205
|
+
"DisableLoadExtensionCommandLineSwitch"
|
206
|
+
]
|
207
|
+
if self.proxy:
|
208
|
+
args += ["--test-type"]
|
206
209
|
args += ["--disable-session-crashed-bubble"]
|
207
210
|
if self.expert:
|
208
211
|
args += [
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: seleniumbase
|
3
|
-
Version: 4.
|
3
|
+
Version: 4.42.1
|
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
|
@@ -67,7 +67,7 @@ Requires-Dist: setuptools~=70.2; python_version < "3.10"
|
|
67
67
|
Requires-Dist: setuptools>=80.9.0; python_version >= "3.10"
|
68
68
|
Requires-Dist: wheel>=0.45.1
|
69
69
|
Requires-Dist: attrs>=25.3.0
|
70
|
-
Requires-Dist: certifi>=2025.
|
70
|
+
Requires-Dist: certifi>=2025.10.5
|
71
71
|
Requires-Dist: exceptiongroup>=1.3.0
|
72
72
|
Requires-Dist: websockets~=13.1; python_version < "3.9"
|
73
73
|
Requires-Dist: websockets>=15.0.1; python_version >= "3.9"
|
@@ -78,7 +78,8 @@ Requires-Dist: mycdp>=1.2.0
|
|
78
78
|
Requires-Dist: pynose>=1.5.5
|
79
79
|
Requires-Dist: platformdirs>=4.3.6; python_version < "3.9"
|
80
80
|
Requires-Dist: platformdirs>=4.4.0; python_version >= "3.9"
|
81
|
-
Requires-Dist: typing-extensions
|
81
|
+
Requires-Dist: typing-extensions~=4.13.2; python_version < "3.9"
|
82
|
+
Requires-Dist: typing-extensions>=4.15.0; python_version >= "3.9"
|
82
83
|
Requires-Dist: sbvirtualdisplay>=1.4.0
|
83
84
|
Requires-Dist: MarkupSafe==2.1.5; python_version < "3.9"
|
84
85
|
Requires-Dist: MarkupSafe>=3.0.3; python_version >= "3.9"
|
@@ -103,13 +104,13 @@ Requires-Dist: sniffio==1.3.1
|
|
103
104
|
Requires-Dist: h11==0.16.0
|
104
105
|
Requires-Dist: outcome==1.3.0.post0
|
105
106
|
Requires-Dist: trio==0.27.0; python_version < "3.9"
|
106
|
-
Requires-Dist: trio
|
107
|
+
Requires-Dist: trio<1,>=0.31.0; python_version >= "3.9"
|
107
108
|
Requires-Dist: trio-websocket~=0.12.2
|
108
109
|
Requires-Dist: wsproto==1.2.0
|
109
110
|
Requires-Dist: websocket-client~=1.8.0
|
110
111
|
Requires-Dist: selenium==4.27.1; python_version < "3.9"
|
111
112
|
Requires-Dist: selenium==4.32.0; python_version >= "3.9" and python_version < "3.10"
|
112
|
-
Requires-Dist: selenium==4.
|
113
|
+
Requires-Dist: selenium==4.36.0; python_version >= "3.10"
|
113
114
|
Requires-Dist: cssselect==1.2.0; python_version < "3.9"
|
114
115
|
Requires-Dist: cssselect==1.3.0; python_version >= "3.9"
|
115
116
|
Requires-Dist: sortedcontainers==2.4.0
|
@@ -275,7 +276,7 @@ Dynamic: summary
|
|
275
276
|
|
276
277
|
--------
|
277
278
|
|
278
|
-
<p align="left">📗
|
279
|
+
<p align="left">📗 Here's a test script that performs a Google Search using SeleniumBase UC Mode:<br /><a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/raw_google.py">SeleniumBase/examples/raw_google.py</a> (Results are saved as PDF, HTML, and PNG)</p>
|
279
280
|
|
280
281
|
```python
|
281
282
|
from seleniumbase import SB
|
@@ -299,7 +300,7 @@ with SB(test=True, uc=True) as sb:
|
|
299
300
|
|
300
301
|
--------
|
301
302
|
|
302
|
-
<p align="left">📗 Here's
|
303
|
+
<p align="left">📗 Here's a script that bypasses Cloudflare's challenge page with UC Mode + CDP Mode: <a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/cdp_mode/raw_gitlab.py">SeleniumBase/examples/cdp_mode/raw_gitlab.py</a></p>
|
303
304
|
|
304
305
|
```python
|
305
306
|
from seleniumbase import SB
|
@@ -319,7 +320,7 @@ with SB(uc=True, test=True, locale="en") as sb:
|
|
319
320
|
|
320
321
|
<img src="https://seleniumbase.github.io/other/cf_sec.jpg" title="SeleniumBase" width="332"> <img src="https://seleniumbase.github.io/other/gitlab_bypass.png" title="SeleniumBase" width="288">
|
321
322
|
|
322
|
-
<p align="left">📙
|
323
|
+
<p align="left">📙 There's also SeleniumBase's "Pure CDP Mode", which doesn't use WebDriver or Selenium at all: <a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/cdp_mode/raw_cdp_gitlab.py">SeleniumBase/examples/cdp_mode/raw_cdp_gitlab.py</a></p>
|
323
324
|
|
324
325
|
```python
|
325
326
|
from seleniumbase import sb_cdp
|
@@ -333,7 +334,7 @@ sb.highlight('button:contains("Sign in")')
|
|
333
334
|
sb.driver.stop()
|
334
335
|
```
|
335
336
|
|
336
|
-
> (Due to
|
337
|
+
> (Due to changes in Chrome 137 where the `--load-extension` switch was removed, you can't load extensions directly from this format.)
|
337
338
|
|
338
339
|
--------
|
339
340
|
|
@@ -3,7 +3,7 @@ sbase/__main__.py,sha256=G0bVB1-DM4PGwQ1KyOupaWCs4ePbChZNNWuX2htim5U,647
|
|
3
3
|
sbase/steps.py,sha256=wiPSWZhFpBlWvkqXRJ18btpBu3nQaw9K5AzIJNAX5RM,43521
|
4
4
|
seleniumbase/__init__.py,sha256=JFEY9P5QJqsa1M6ghzLMH2eIPQyh85iglCaQwg8Y8z4,2498
|
5
5
|
seleniumbase/__main__.py,sha256=dn1p6dgCchmcH1zzTzzQvFwwdQQqnTGH6ULV9m4hv24,654
|
6
|
-
seleniumbase/__version__.py,sha256=
|
6
|
+
seleniumbase/__version__.py,sha256=PaDBv1vq8Qcw7qMzR9vLg_YgpDZ8E2L6_LqLBj3R4C4,46
|
7
7
|
seleniumbase/behave/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
8
8
|
seleniumbase/behave/behave_helper.py,sha256=lJtagtivSbEpbRj0EKV4l4PuPU6NANONJJAnYwgVCe0,24379
|
9
9
|
seleniumbase/behave/behave_sb.py,sha256=guLihFsr1uJ4v2AR3r3Vy_BTeHrHwy2JEJxhp-MVnZA,59872
|
@@ -36,7 +36,7 @@ seleniumbase/console_scripts/sb_print.py,sha256=tNy-bMDgwHJO3bZxMpmo9weSE8uhbH0C
|
|
36
36
|
seleniumbase/console_scripts/sb_recorder.py,sha256=DH-n2fN7N9qyHMl7wjtn8MiliBgfw-1kwgmfg1GUuhk,10772
|
37
37
|
seleniumbase/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
38
38
|
seleniumbase/core/application_manager.py,sha256=e_0sjtI8cjY5BNyZj1QBR0j6_oCScxGmSXYEpcYwuZE,576
|
39
|
-
seleniumbase/core/browser_launcher.py,sha256=
|
39
|
+
seleniumbase/core/browser_launcher.py,sha256=gaaqYK1UxYxsyh-3pzFVKR1_x1vEXHsfhMxA8QxR8Ng,250541
|
40
40
|
seleniumbase/core/capabilities_parser.py,sha256=meIS2uHapTCq2ldfNAToC7r0cKmZDRXuYNKExM1GHDY,6038
|
41
41
|
seleniumbase/core/colored_traceback.py,sha256=DrRWfg7XEnKcgY59Xj7Jdk09H-XqHYBSUpB-DiZt6iY,2020
|
42
42
|
seleniumbase/core/create_db_tables.sql,sha256=VWPtrdiW_HQ6yETHjqTu-VIrTwvd8I8o1NfBeaVSHpU,972
|
@@ -67,14 +67,14 @@ seleniumbase/extensions/disable_csp.zip,sha256=5RvomXnm2PdivUVcxTV6jfvD8WhTEsQYH
|
|
67
67
|
seleniumbase/extensions/recorder.zip,sha256=JEE_FVEvlS63cFQbVLEroIyPSS91nWCDL0MhjVrmIpk,11813
|
68
68
|
seleniumbase/extensions/sbase_ext.zip,sha256=3s1N8zrVaMz8RQEOIoBzC3KDjtmHwVZRvVsX25Odr_s,8175
|
69
69
|
seleniumbase/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
70
|
-
seleniumbase/fixtures/base_case.py,sha256=
|
70
|
+
seleniumbase/fixtures/base_case.py,sha256=nnPUREzeNfpnOP9q1ZO--guOtHIm3efus4WRsw5E_NQ,742045
|
71
71
|
seleniumbase/fixtures/constants.py,sha256=WMrItuNyKq3XVJ64NluLIRc4gJCxDw8K8qXED0b9S2w,13752
|
72
72
|
seleniumbase/fixtures/css_to_xpath.py,sha256=9ouDB1xl4MJ2os6JOgTIAyHKOQfuxtxvXC3O5hSnEKA,1954
|
73
73
|
seleniumbase/fixtures/errors.py,sha256=KyxuEVx_e3MPhVrJfNIa_3ltMpbCFxfy_jxK8RFNTns,555
|
74
74
|
seleniumbase/fixtures/js_utils.py,sha256=Ykt019DFP8S27o8Kai_ihT01qQWo3RqHUeljqOEUdFU,52247
|
75
75
|
seleniumbase/fixtures/page_actions.py,sha256=zWjIYQmBuQMP25SiqIgM0UpaNTPHHHPkbmHB-shtdaU,73073
|
76
76
|
seleniumbase/fixtures/page_utils.py,sha256=H1iV8f9vDyEy87DBntyiBXC_tg8HskcebUOAJVn0hxE,12160
|
77
|
-
seleniumbase/fixtures/shared_utils.py,sha256=
|
77
|
+
seleniumbase/fixtures/shared_utils.py,sha256=HAjOSJQIGNG7wLbeBWAMy80x4l4stJjoxi-ZmHdzwMk,8702
|
78
78
|
seleniumbase/fixtures/unittest_helper.py,sha256=sfZ92rZeBAn_sF_yQ3I6_I7h3lyU5-cV_UMegBNoEm8,1294
|
79
79
|
seleniumbase/fixtures/words.py,sha256=FOA4mAYvl3EPVpBTvgvK6YwCL8BdlRCmed685kEe7Vg,7827
|
80
80
|
seleniumbase/fixtures/xpath_to_css.py,sha256=lML56k656fElXJ4NJF07r35FjctrbgQkXUotNk7A-as,8876
|
@@ -119,7 +119,7 @@ seleniumbase/undetected/cdp_driver/__init__.py,sha256=Ga9alwuaZZy4_XOShc0HjgFnNq
|
|
119
119
|
seleniumbase/undetected/cdp_driver/_contradict.py,sha256=lP4b0h5quAy573ETn_TBbYV889cL1AuPLVInpJ0ZkiU,3183
|
120
120
|
seleniumbase/undetected/cdp_driver/browser.py,sha256=mVM36mFqA4ZnxBDQ5ily3dpIcZ33O5coG1boEcX4aLc,35640
|
121
121
|
seleniumbase/undetected/cdp_driver/cdp_util.py,sha256=ku3Nq8yjC6kbvVV2PB149E-TxQIIvjHDFQI2wyi0HVs,25221
|
122
|
-
seleniumbase/undetected/cdp_driver/config.py,sha256=
|
122
|
+
seleniumbase/undetected/cdp_driver/config.py,sha256=pjcGq0azNQpNb3XT2sTjxShLEmcIPdzTzB_mitu6GkM,13557
|
123
123
|
seleniumbase/undetected/cdp_driver/connection.py,sha256=WgZ4QamXSdTzP4Xfgkn8mxv-JFivMG6hqbyHy2_LQlg,25717
|
124
124
|
seleniumbase/undetected/cdp_driver/element.py,sha256=FIC6v7OmumLCT-_vIc3H4oju_oBbaLpWJUJIKm2c_q4,40467
|
125
125
|
seleniumbase/undetected/cdp_driver/tab.py,sha256=t7Ucn0pmm7imwdCM-5KmIJNU2MCeMuIl6G3T2VMrbxU,53170
|
@@ -137,9 +137,9 @@ seleniumbase/utilities/selenium_grid/start-grid-hub.bat,sha256=Ftq-GrAKRYH2ssDPr
|
|
137
137
|
seleniumbase/utilities/selenium_grid/start-grid-hub.sh,sha256=KADv0RUHONLL2_I443QFK8PryBpDmKn5Gy0s4o0vDSM,106
|
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.42.1.dist-info/licenses/LICENSE,sha256=BRblZsX7HyPUjQmYTiyWr_e9tzWvmR3R4SFclM2R3W0,1085
|
141
|
+
seleniumbase-4.42.1.dist-info/METADATA,sha256=KTI4f3tfgQDx5V1v7wzhY63IaQlGus1Nh7T-L-UvZLQ,89241
|
142
|
+
seleniumbase-4.42.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
143
|
+
seleniumbase-4.42.1.dist-info/entry_points.txt,sha256=CNrh2EKNaHYEhO6pP1RJyVLB99LkDDYX7TnUK8xfjqk,623
|
144
|
+
seleniumbase-4.42.1.dist-info/top_level.txt,sha256=4N97aBOQ8ETCnDnokBsWb07lJfTaq3C1ZzYRxvLMxqU,19
|
145
|
+
seleniumbase-4.42.1.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|