Merge pull request #3459 from seleniumbase/cft-and-chs-refactoring

CFT and CHS refactoring
This commit is contained in:
Michael Mintz 2025-01-28 20:57:03 -05:00 committed by GitHub
commit 3b64f8855a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
8 changed files with 61 additions and 8 deletions

14
.gitignore vendored
View File

@ -82,6 +82,13 @@ msedgedriver.exe
operadriver.exe
uc_driver.exe
# Chrome for Testing Zip Files
chrome-mac-arm64.zip
chrome-mac-x64.zip
chrome-linux64.zip
chrome-win64.zip
chrome-win32.zip
# Chrome for Testing folders
chrome-mac-arm64
chrome-mac-x64
@ -89,6 +96,13 @@ chrome-linux64
chrome-win64
chrome-win32
# Chrome-Headless-Shell Zip Files
chrome-headless-shell-mac-arm64.zip
chrome-headless-shell-mac-x64.zip
chrome-headless-shell-linux64.zip
chrome-headless-shell-win64.zip
chrome-headless-shell-win32.zip
# Chrome-Headless-Shell folders
chrome-headless-shell-mac-arm64
chrome-headless-shell-mac-x64

View File

@ -0,0 +1,13 @@
from seleniumbase import SB
with SB(uc=True, test=True, ad_block=True) as sb:
url = "https://chatgpt.com/"
sb.activate_cdp_mode(url)
query = "Compare Playwright to SeleniumBase in under 178 words"
sb.type("#prompt-textarea", query)
sb.click('button[data-testid="send-button"]')
print('Input for ChatGPT:\n"%s"' % query)
sb.sleep(12)
chat = sb.find_element('[data-message-author-role="assistant"] .markdown')
soup = sb.get_beautiful_soup(chat.get_html()).get_text("\n").strip()
print("Response from ChatGPT:\n%s" % soup.replace("\n:", ":"))

View File

@ -3,7 +3,7 @@
regex>=2024.11.6
pymdown-extensions>=10.14.1
pipdeptree>=2.24.0
pipdeptree>=2.25.0
python-dateutil>=2.8.2
Markdown==3.7
click==8.1.8

View File

@ -1,4 +1,4 @@
pip>=24.3.1
pip>=25.0
packaging>=24.2
setuptools~=70.2;python_version<"3.10"
setuptools>=75.8.0;python_version>="3.10"

View File

@ -1,2 +1,2 @@
# seleniumbase package
__version__ = "4.34.3"
__version__ = "4.34.4"

View File

@ -39,6 +39,7 @@ import time
import tarfile
import urllib3
import zipfile
from contextlib import suppress
from seleniumbase.fixtures import constants
from seleniumbase.fixtures import shared_utils
from seleniumbase import config as sb_config
@ -1200,7 +1201,7 @@ def main(override=None, intel_for_uc=None, force_uc=None):
driver_path = None
driver_file = None
base_path = os.sep.join(zip_file_path.split(os.sep)[:-1])
folder_name = contents[0].split(os.sep)[0]
folder_name = contents[0].split("/")[0]
folder_path = os.path.join(base_path, folder_name)
if IS_MAC or IS_LINUX:
if (
@ -1221,12 +1222,14 @@ def main(override=None, intel_for_uc=None, force_uc=None):
zip_file_path,
"-DestinationPath",
downloads_folder,
"-Force",
]
)
else:
zip_ref.extractall(downloads_folder)
zip_ref.close()
os.remove(zip_file_path)
with suppress(Exception):
os.remove(zip_file_path)
log_d("%sUnzip Complete!%s\n" % (c2, cr))
pr_base_path = c3 + base_path + cr
pr_sep = c3 + os.sep + cr
@ -1240,7 +1243,7 @@ def main(override=None, intel_for_uc=None, force_uc=None):
driver_path = None
driver_file = None
base_path = os.sep.join(zip_file_path.split(os.sep)[:-1])
folder_name = contents[0].split(os.sep)[0]
folder_name = contents[0].split("/")[0]
folder_path = os.path.join(base_path, folder_name)
if IS_MAC or IS_LINUX:
if (
@ -1261,12 +1264,14 @@ def main(override=None, intel_for_uc=None, force_uc=None):
zip_file_path,
"-DestinationPath",
downloads_folder,
"-Force",
]
)
else:
zip_ref.extractall(downloads_folder)
zip_ref.close()
os.remove(zip_file_path)
with suppress(Exception):
os.remove(zip_file_path)
log_d("%sUnzip Complete!%s\n" % (c2, cr))
pr_base_path = c3 + base_path + cr
pr_sep = c3 + os.sep + cr

View File

@ -247,6 +247,27 @@ def main():
data.append("msedgedriver.exe")
data.append("operadriver.exe")
data.append("uc_driver.exe")
data.append("chrome-mac-arm64.zip")
data.append("chrome-mac-x64.zip")
data.append("chrome-linux64.zip")
data.append("chrome-win64.zip")
data.append("chrome-win32.zip")
data.append("chrome-mac-arm64")
data.append("chrome-mac-x64")
data.append("chrome-linux64")
data.append("chrome-win64")
data.append("chrome-win32")
data.append("chrome-headless-shell-mac-arm64.zip")
data.append("chrome-headless-shell-mac-x64.zip")
data.append("chrome-headless-shell-linux64.zip")
data.append("chrome-headless-shell-win64.zip")
data.append("chrome-headless-shell-win32.zip")
data.append("chrome-headless-shell-mac-arm64")
data.append("chrome-headless-shell-mac-x64")
data.append("chrome-headless-shell-linux64")
data.append("chrome-headless-shell-win64")
data.append("chrome-headless-shell-win32")
data.append("libc++.dylib")
data.append("logs")
data.append("latest_logs")
data.append("log_archives")

View File

@ -147,7 +147,7 @@ setup(
],
python_requires=">=3.8",
install_requires=[
'pip>=24.3.1',
'pip>=25.0',
'packaging>=24.2',
'setuptools~=70.2;python_version<"3.10"', # Newer ones had issues
'setuptools>=75.8.0;python_version>="3.10"',