seleniumbase 4.37.1__py3-none-any.whl → 4.37.2__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.
@@ -1,2 +1,2 @@
1
1
  # seleniumbase package
2
- __version__ = "4.37.1"
2
+ __version__ = "4.37.2"
@@ -682,6 +682,7 @@ def uc_open_with_cdp_mode(driver, url=None):
682
682
  cdp.gui_click_element = CDPM.gui_click_element
683
683
  cdp.gui_drag_drop_points = CDPM.gui_drag_drop_points
684
684
  cdp.gui_drag_and_drop = CDPM.gui_drag_and_drop
685
+ cdp.gui_click_and_hold = CDPM.gui_click_and_hold
685
686
  cdp.gui_hover_x_y = CDPM.gui_hover_x_y
686
687
  cdp.gui_hover_element = CDPM.gui_hover_element
687
688
  cdp.gui_hover_and_click = CDPM.gui_hover_and_click
@@ -1227,15 +1227,23 @@ class CDPMethods():
1227
1227
  if not timeout:
1228
1228
  timeout = settings.SMALL_TIMEOUT
1229
1229
  selector = self.__convert_to_css_if_xpath(selector)
1230
- self.select(selector, timeout=timeout)
1230
+ element = self.select(selector, timeout=timeout)
1231
1231
  self.__add_light_pause()
1232
- coordinates = self.loop.run_until_complete(
1233
- self.page.js_dumps(
1234
- """document.querySelector"""
1235
- """('%s').getBoundingClientRect()"""
1236
- % js_utils.escape_quotes_if_needed(re.escape(selector))
1232
+ coordinates = None
1233
+ if ":contains(" in selector:
1234
+ position = element.get_position()
1235
+ x = position.x
1236
+ y = position.y
1237
+ width = position.width
1238
+ height = position.height
1239
+ coordinates = {"x": x, "y": y, "width": width, "height": height}
1240
+ else:
1241
+ coordinates = self.loop.run_until_complete(
1242
+ self.page.js_dumps(
1243
+ """document.querySelector('%s').getBoundingClientRect()"""
1244
+ % js_utils.escape_quotes_if_needed(re.escape(selector))
1245
+ )
1237
1246
  )
1238
- )
1239
1247
  return coordinates
1240
1248
 
1241
1249
  def get_element_size(self, selector, timeout=None):
@@ -1665,6 +1673,14 @@ class CDPMethods():
1665
1673
  self.__add_light_pause()
1666
1674
  self.gui_drag_drop_points(x1, y1, x2, y2, timeframe=timeframe)
1667
1675
 
1676
+ def gui_click_and_hold(self, selector, timeframe=0.35):
1677
+ """Use PyAutoGUI to click-and-hold a selector."""
1678
+ self.__slow_mode_pause_if_set()
1679
+ self.bring_active_window_to_front()
1680
+ x, y = self.get_gui_element_center(selector)
1681
+ self.__add_light_pause()
1682
+ self.gui_drag_drop_points(x, y, x, y, timeframe=timeframe)
1683
+
1668
1684
  def __gui_hover_x_y(self, x, y, timeframe=0.25, uc_lock=False):
1669
1685
  self.__install_pyautogui_if_missing()
1670
1686
  import pyautogui
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: seleniumbase
3
- Version: 4.37.1
3
+ Version: 4.37.2
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
@@ -76,7 +76,7 @@ Requires-Dist: mycdp>=1.1.1
76
76
  Requires-Dist: pynose>=1.5.4
77
77
  Requires-Dist: platformdirs>=4.3.6; python_version < "3.9"
78
78
  Requires-Dist: platformdirs>=4.3.7; python_version >= "3.9"
79
- Requires-Dist: typing-extensions>=4.13.1
79
+ Requires-Dist: typing-extensions>=4.13.2
80
80
  Requires-Dist: sbvirtualdisplay>=1.4.0
81
81
  Requires-Dist: MarkupSafe==2.1.5; python_version < "3.9"
82
82
  Requires-Dist: MarkupSafe>=3.0.2; python_version >= "3.9"
@@ -94,7 +94,7 @@ Requires-Dist: idna==3.10
94
94
  Requires-Dist: chardet==5.2.0
95
95
  Requires-Dist: charset-normalizer==3.4.1
96
96
  Requires-Dist: urllib3<2,>=1.26.20; python_version < "3.10"
97
- Requires-Dist: urllib3<2.4.0,>=1.26.20; python_version >= "3.10"
97
+ Requires-Dist: urllib3<2.5.0,>=1.26.20; python_version >= "3.10"
98
98
  Requires-Dist: requests==2.32.3
99
99
  Requires-Dist: sniffio==1.3.1
100
100
  Requires-Dist: h11==0.14.0
@@ -3,7 +3,7 @@ sbase/__main__.py,sha256=G0bVB1-DM4PGwQ1KyOupaWCs4ePbChZNNWuX2htim5U,647
3
3
  sbase/steps.py,sha256=_WvAjydKqZfTdnZW9LPKkRty-g-lfdUPmLqnZj6ulcs,43013
4
4
  seleniumbase/__init__.py,sha256=JFEY9P5QJqsa1M6ghzLMH2eIPQyh85iglCaQwg8Y8z4,2498
5
5
  seleniumbase/__main__.py,sha256=dn1p6dgCchmcH1zzTzzQvFwwdQQqnTGH6ULV9m4hv24,654
6
- seleniumbase/__version__.py,sha256=SfQ2g9CE1hySBUvIiMmyBJerWmxZm6mNS8pujipJXSY,46
6
+ seleniumbase/__version__.py,sha256=Vmyu1nrXKb5h1xNjtD4ZvuGS53Y5AVtMxP5LqAt56mM,46
7
7
  seleniumbase/behave/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
8
  seleniumbase/behave/behave_helper.py,sha256=elkl8P9eLulRAioLstE9baYNM9N_PHBmAOcajX-pH_Y,24198
9
9
  seleniumbase/behave/behave_sb.py,sha256=qQF85LoohJBfrPK5ZcPi50v-pWtOrC9qcN1B3Ki_3tY,59401
@@ -36,7 +36,7 @@ seleniumbase/console_scripts/sb_print.py,sha256=tNy-bMDgwHJO3bZxMpmo9weSE8uhbH0C
36
36
  seleniumbase/console_scripts/sb_recorder.py,sha256=fnHb5-kh11Hit-E9Ha-e4QXzqLcZvtij6mb5qNd4B1Q,11032
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=03_IFgsO1jBqFF2NeUouL5iMK0DlpwbZY_OKuwW7iYA,239734
39
+ seleniumbase/core/browser_launcher.py,sha256=H8CVjbO6M43op-sCNakek8NYBdZnc3FC1ekGtj-I6oI,239787
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
@@ -50,7 +50,7 @@ seleniumbase/core/proxy_helper.py,sha256=4VkpMwavz0fx8wcOqJ_jyBT0HIXwcxmAcpd1gjJ
50
50
  seleniumbase/core/recorder_helper.py,sha256=fNGjbapXmEsht54x1o6Igk198QdnPxDDnjUOzQxNhNQ,25055
51
51
  seleniumbase/core/report_helper.py,sha256=AIl6Qava2yW1uSzbLpJBlPlYDz0KE-rVhogh8hsGWBo,12201
52
52
  seleniumbase/core/s3_manager.py,sha256=z_4qx2jI_gtK5r3niGXgEOBpfMUicUCOciowai50MP4,3529
53
- seleniumbase/core/sb_cdp.py,sha256=Wy1ypcFfN4V5dDUbwjw22K6zOE2HczPlN5BFdBhUl6E,85718
53
+ seleniumbase/core/sb_cdp.py,sha256=L7b7kquCIh-pI7vjAi2pE9Z8WAMoTSP99M3zVKKYVSE,86412
54
54
  seleniumbase/core/sb_driver.py,sha256=yvTDRblBzG6bDX7XcLiAA6QcBelSJj_HHL_04lcfeeE,13760
55
55
  seleniumbase/core/session_helper.py,sha256=s9zD3PVZEWVzG2h81cCUskbNWLfdjC_LwwQjKptHCak,558
56
56
  seleniumbase/core/settings_parser.py,sha256=gqVohHVlE_5L5Cqe2L24uYrRzvoK-saX8E_Df7_-_3I,7609
@@ -135,9 +135,9 @@ seleniumbase/utilities/selenium_grid/start-grid-hub.bat,sha256=Ftq-GrAKRYH2ssDPr
135
135
  seleniumbase/utilities/selenium_grid/start-grid-hub.sh,sha256=KADv0RUHONLL2_I443QFK8PryBpDmKn5Gy0s4o0vDSM,106
136
136
  seleniumbase/utilities/selenium_ide/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
137
137
  seleniumbase/utilities/selenium_ide/convert_ide.py,sha256=pZFnqEJQEKZPyNFjkLD29s2HPQgCrWW9XJWpCPhWOoM,31691
138
- seleniumbase-4.37.1.dist-info/licenses/LICENSE,sha256=BRblZsX7HyPUjQmYTiyWr_e9tzWvmR3R4SFclM2R3W0,1085
139
- seleniumbase-4.37.1.dist-info/METADATA,sha256=xB2eYfp3qQlq34bB3xpQSx6vsuhDRTAHdzGf0esqm0M,86879
140
- seleniumbase-4.37.1.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
141
- seleniumbase-4.37.1.dist-info/entry_points.txt,sha256=CNrh2EKNaHYEhO6pP1RJyVLB99LkDDYX7TnUK8xfjqk,623
142
- seleniumbase-4.37.1.dist-info/top_level.txt,sha256=4N97aBOQ8ETCnDnokBsWb07lJfTaq3C1ZzYRxvLMxqU,19
143
- seleniumbase-4.37.1.dist-info/RECORD,,
138
+ seleniumbase-4.37.2.dist-info/licenses/LICENSE,sha256=BRblZsX7HyPUjQmYTiyWr_e9tzWvmR3R4SFclM2R3W0,1085
139
+ seleniumbase-4.37.2.dist-info/METADATA,sha256=EccEGDheFz8nOIVDlmy7PSFeMeU6F6Uk6L-PJksB9dE,86879
140
+ seleniumbase-4.37.2.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
141
+ seleniumbase-4.37.2.dist-info/entry_points.txt,sha256=CNrh2EKNaHYEhO6pP1RJyVLB99LkDDYX7TnUK8xfjqk,623
142
+ seleniumbase-4.37.2.dist-info/top_level.txt,sha256=4N97aBOQ8ETCnDnokBsWb07lJfTaq3C1ZzYRxvLMxqU,19
143
+ seleniumbase-4.37.2.dist-info/RECORD,,