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 operadriver.exe
uc_driver.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 for Testing folders
chrome-mac-arm64 chrome-mac-arm64
chrome-mac-x64 chrome-mac-x64
@ -89,6 +96,13 @@ chrome-linux64
chrome-win64 chrome-win64
chrome-win32 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 folders
chrome-headless-shell-mac-arm64 chrome-headless-shell-mac-arm64
chrome-headless-shell-mac-x64 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 regex>=2024.11.6
pymdown-extensions>=10.14.1 pymdown-extensions>=10.14.1
pipdeptree>=2.24.0 pipdeptree>=2.25.0
python-dateutil>=2.8.2 python-dateutil>=2.8.2
Markdown==3.7 Markdown==3.7
click==8.1.8 click==8.1.8

View File

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

View File

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

View File

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

View File

@ -247,6 +247,27 @@ def main():
data.append("msedgedriver.exe") data.append("msedgedriver.exe")
data.append("operadriver.exe") data.append("operadriver.exe")
data.append("uc_driver.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("logs")
data.append("latest_logs") data.append("latest_logs")
data.append("log_archives") data.append("log_archives")

View File

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