use firefox to load page

This commit is contained in:
2022-08-31 13:56:27 +02:00
parent 013db2e4ec
commit e4bfeee938
4 changed files with 3061 additions and 13 deletions
+3032 -1
View File
File diff suppressed because it is too large Load Diff
+17 -3
View File
@@ -8,7 +8,7 @@ import xlsxwriter
from src.config import CONTACT_LIST_FILE
from src.db.mongo_manager import MONGO_STORE_MANAGER
from src.pojo.contact_pojo import ContactPojo
from src.pojo.mail.mail_pojo import MailAddress, MailPojo
from src.pojo.mail.mail_pojo import MailAddress
from src.utils.generate_random_passport_id import get_random_passport_id_number
phone_number_prefix = ['6']
@@ -24,6 +24,19 @@ class ExcelHelper:
self._df = pandas.concat([self._df, new_df])
self._df.to_excel(file_name)
def read_user_agens(self) -> list:
user_agent_in_json = pandas.read_excel(
"/Users/lpan/Documents/workspace/appointment_tool/docs/mobile_user_agent_list.xlsx").to_json(
orient='records')
user_agent_dict_list = json.loads(user_agent_in_json)
user_agent_list = []
for user_agent_dict in user_agent_dict_list:
user_agent_str = user_agent_dict['user_agent']
if 'Android' in user_agent_str:
if 'Mac OS' not in user_agent_str:
user_agent_list.append(user_agent_dict['user_agent'])
print(user_agent_list)
def read_contacts(self, file_name=CONTACT_LIST_FILE) -> list:
contact_list_in_json = pandas.read_excel(file_name).to_json(orient='records')
contact_dict_list = json.loads(contact_list_in_json)
@@ -198,12 +211,13 @@ def save_mails_to_db():
if __name__ == '__main__':
# excel_reader = ExcelHelper()
excel_reader = ExcelHelper()
excel_reader.read_user_agens()
# contacts = excel_reader.read_names("/Users/lpan/Documents/rdv/backup_500.xlsx")
# print(contacts)
# write_new_contacts_to_excel(valid_contacts=contacts)
save_mails_to_db()
# save_mails_to_db()
# for mail in excel_reader.read_mails_and_pwd():
# MONGO_STORE_MANAGER.insert_email(mail)
# for i in range(1, 64):
+6 -4
View File
@@ -119,10 +119,11 @@ class CommandorPage:
def start_browser(self, proxy, pwright, device) -> Union[str, None]:
try:
self.browser = pwright.webkit.launch(headless=self.headless, timeout=PAGE_TIMEOUT, proxy=proxy)
self.logger.info("模拟设备: " + device)
simulated_mobile = pwright.devices[device]
context = self.browser.new_context(**simulated_mobile, locale='fr-FR')
self.browser = pwright.firefox.launch(headless=self.headless, timeout=PAGE_TIMEOUT, proxy=proxy)
userAgent = random.choice(params.firefox_user_agent_list)
print("user_agent is " + userAgent)
# context = self.browser.new_context(**simulated_mobile, locale='fr-FR')
context = self.browser.new_context(user_agent=userAgent, locale='fr-FR')
self.page = context.new_page()
# hide webdriver information
self.page.add_init_script("""() => {
@@ -156,6 +157,7 @@ class CommandorPage:
self._run(proxy)
def _on_page_loaded(self):
# time.sleep(40000)
self.logger.info("页面加载完毕")
self.logger.info("url is " + self.page.url)
if self.page.url == RDV_URL: