Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 539d412

Browse files
authored
Merge pull request #3872 from seleniumbase/add-method-and-update-selenium
Add method and update selenium
2 parents 46b7397 + 5079d60 commit 539d412

File tree

8 files changed

+54
-3
lines changed

8 files changed

+54
-3
lines changed

‎help_docs/method_summary.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,7 @@ self.save_screenshot_to_logs(name=None, selector=None, by="css selector")
250250
self.save_data_to_logs(data, file_name=None)
251251
self.append_data_to_logs(data, file_name=None)
252252
self.save_page_source(name, folder=None)
253+
self.save_page_source_to_logs(name=None)
253254
self.save_cookies(name="cookies.txt")
254255
self.load_cookies(name="cookies.txt", expiry=False)
255256
self.delete_all_cookies()

‎requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ wsproto==1.2.0
4646
websocket-client==1.8.0
4747
selenium==4.27.1;python_version<"3.9"
4848
selenium==4.32.0;python_version>="3.9" and python_version<"3.10"
49-
selenium==4.34.1;python_version>="3.10"
49+
selenium==4.34.2;python_version>="3.10"
5050
cssselect==1.2.0;python_version<"3.9"
5151
cssselect==1.3.0;python_version>="3.9"
5252
sortedcontainers==2.4.0

‎sbase/steps.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1191,6 +1191,15 @@ def set_attributes(context, selector, attribute, value):
11911191
sb.set_attributes(selector, attribute, value)
11921192

11931193

1194+
@step("Save page source to logs")
1195+
@step("Save the page source to the logs")
1196+
@step("User saves page source to logs")
1197+
@step("User saves the page source to the logs")
1198+
def save_page_source_to_logs(context):
1199+
sb = context.sb
1200+
sb.save_page_source_to_logs()
1201+
1202+
11941203
@step("Activate CDP Mode")
11951204
@step("User activates CDP Mode")
11961205
def activate_cdp_mode(context):

‎seleniumbase/__version__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
# seleniumbase package
2-
__version__ = "4.40.1"
2+
__version__ = "4.40.2"

‎seleniumbase/behave/behave_helper.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -522,6 +522,8 @@ def generate_gherkin(srt_actions):
522522
)
523523
elif action[0] == "ss_tl":
524524
sb_actions.append("Save screenshot to logs")
525+
elif action[0] == "spstl":
526+
sb_actions.append("Save page source to logs")
525527
elif action[0] == "sh_fc":
526528
sb_actions.append("Show file choosers")
527529
elif action[0] == "pr_da":

‎seleniumbase/core/recorder_helper.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -556,6 +556,9 @@ def generate_sbase_code(srt_actions):
556556
elif action[0] == "ss_tl":
557557
method = "save_screenshot_to_logs"
558558
sb_actions.append("self.%s()" % method)
559+
elif action[0] == "spstl":
560+
method = "save_page_source_to_logs"
561+
sb_actions.append("self.%s()" % method)
559562
elif action[0] == "sh_fc":
560563
method = "show_file_choosers"
561564
sb_actions.append("self.%s()" % method)

‎seleniumbase/fixtures/base_case.py

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,7 @@ def __initialize_variables(self):
132132
self.__called_teardown = False
133133
self.__start_time_ms = int(time.time() * 1000.0)
134134
self.__requests_timeout = None
135+
self.__page_source_count = 0
135136
self.__screenshot_count = 0
136137
self.__logs_data_count = 0
137138
self.__last_data_file = None
@@ -4512,6 +4513,40 @@ def save_screenshot_to_logs(
45124513
sb_config._has_logs = True
45134514
return page_actions.save_screenshot(self.driver, name, test_logpath)
45144515

4516+
def save_page_source_to_logs(self, name=None):
4517+
"""Saves the page HTML to the "latest_logs/" folder.
4518+
Naming is automatic:
4519+
If NO NAME provided: "_1_source.html", "_2_source.html", etc.
4520+
If NAME IS provided, then: "_1_name.html", "_2_name.html", etc.
4521+
(The last_page / failure page_source is always "page_source.html")"""
4522+
if not self.__is_cdp_swap_needed():
4523+
self.wait_for_ready_state_complete()
4524+
test_logpath = os.path.join(self.log_path, self.__get_test_id())
4525+
self.__create_log_path_as_needed(test_logpath)
4526+
if name:
4527+
name = str(name)
4528+
self.__page_source_count += 1
4529+
if not name or len(name) == 0:
4530+
name = "_%s_source.html" % self.__page_source_count
4531+
else:
4532+
pre_name = "_%s_" % self.__page_source_count
4533+
if len(name) >= 4 and name[-4:].lower() == ".html":
4534+
name = name[:-4]
4535+
if len(name) == 0:
4536+
name = "source"
4537+
name = "%s%s.html" % (pre_name, name)
4538+
if self.recorder_mode:
4539+
url = self.get_current_url()
4540+
if url and len(url) > 0:
4541+
if ("http:") in url or ("https:") in url or ("file:") in url:
4542+
if self.get_session_storage_item("pause_recorder") == "no":
4543+
time_stamp = self.execute_script("return Date.now();")
4544+
origin = self.get_origin()
4545+
action = ["spstl", "", origin, time_stamp]
4546+
self.__extra_actions.append(action)
4547+
sb_config._has_logs = True
4548+
return page_actions.save_page_source(self.driver, name, test_logpath)
4549+
45154550
def save_data_to_logs(self, data, file_name=None):
45164551
"""Saves data to the "latest_logs/" data folder of the current test.
45174552
If no file_name, file_name becomes: "data_1.txt", "data_2.txt", etc.
@@ -5470,6 +5505,7 @@ def __process_recorded_actions(self):
54705505
ext_actions.append("s_scr")
54715506
ext_actions.append("ss_tf")
54725507
ext_actions.append("ss_tl")
5508+
ext_actions.append("spstl")
54735509
ext_actions.append("da_el")
54745510
ext_actions.append("da_ep")
54755511
ext_actions.append("da_te")

‎setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@
194194
'websocket-client==1.8.0',
195195
'selenium==4.27.1;python_version<"3.9"',
196196
'selenium==4.32.0;python_version>="3.9" and python_version<"3.10"',
197-
'selenium==4.34.1;python_version>="3.10"',
197+
'selenium==4.34.2;python_version>="3.10"',
198198
'cssselect==1.2.0;python_version<"3.9"',
199199
'cssselect==1.3.0;python_version>="3.9"',
200200
"sortedcontainers==2.4.0",

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /