Skip to content

Commit 274ccf6

Browse files
committed
Make file downloads more stealthy
1 parent c023813 commit 274ccf6

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

seleniumbase/fixtures/base_case.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7628,7 +7628,11 @@ def download_file(self, file_url, destination_folder=None):
76287628
destination_folder = constants.Files.DOWNLOADS_FOLDER
76297629
if not os.path.exists(destination_folder):
76307630
os.makedirs(destination_folder)
7631-
page_utils._download_file_to(file_url, destination_folder)
7631+
agent = self.get_user_agent()
7632+
headers = {"user-agent": agent}
7633+
page_utils._download_file_to(
7634+
file_url, destination_folder, headers=headers
7635+
)
76327636
if self.recorder_mode and self.__current_url_is_recordable():
76337637
if self.get_session_storage_item("pause_recorder") == "no":
76347638
time_stamp = self.execute_script("return Date.now();")
@@ -7652,8 +7656,10 @@ def save_file_as(self, file_url, new_file_name, destination_folder=None):
76527656
destination_folder = constants.Files.DOWNLOADS_FOLDER
76537657
if not os.path.exists(destination_folder):
76547658
os.makedirs(destination_folder)
7659+
agent = self.get_user_agent()
7660+
headers = {"user-agent": agent}
76557661
page_utils._download_file_to(
7656-
file_url, destination_folder, new_file_name
7662+
file_url, destination_folder, new_file_name, headers=headers
76577663
)
76587664

76597665
def save_data_as(self, data, file_name, destination_folder=None):

seleniumbase/fixtures/page_utils.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -293,12 +293,14 @@ def _print_unique_links_with_status_codes(page_url, soup):
293293
print(link, " -> ", status_code)
294294

295295

296-
def _download_file_to(file_url, destination_folder, new_file_name=None):
296+
def _download_file_to(
297+
file_url, destination_folder, new_file_name=None, headers=None
298+
):
297299
if new_file_name:
298300
file_name = new_file_name
299301
else:
300302
file_name = file_url.split("/")[-1]
301-
r = requests.get(file_url, timeout=5)
303+
r = requests.get(file_url, headers=headers, timeout=5)
302304
file_path = os.path.join(destination_folder, file_name)
303305
download_file_lock = fasteners.InterProcessLock(
304306
constants.MultiBrowser.DOWNLOAD_FILE_LOCK

0 commit comments

Comments
 (0)