can run playwright in multi-threads

This commit is contained in:
2022-05-16 08:48:55 +02:00
parent 5ac4f6a0fb
commit 08ed7c8954
3 changed files with 36 additions and 34 deletions
+5 -11
View File
@@ -5,6 +5,8 @@ import threading
import time
from typing import Union
from playwright.sync_api import sync_playwright
import params
from params import PROXY_SERVER, PROXY_PASSWORD
from pojo.ReserveResultPojo import ReserveResultPojo, PublishType
@@ -31,7 +33,7 @@ def get_random_wait_time() -> float:
class Tls(threading.local):
def __init__(self) -> None:
self.playwright = params.SINGLE_PLAYWRIGHT_INSTANCE
self.playwright = sync_playwright().start()
class CommandorPage:
@@ -74,7 +76,7 @@ class CommandorPage:
first_page = None
while first_page is None:
first_page = self.start_browser(proxy, self.tls.playwright, devices)
proxy_username = "panleicim-res-fr-" + get_random_id_number_for_proxy()
proxy_username = "panleicim-res-fr-" + params.get_random_id_number_for_proxy()
self.logger.info("proxy_username is " + proxy_username)
proxy = {
"server": params.PROXY_SERVER,
@@ -264,14 +266,6 @@ class CommandorPage:
self.browser.close()
def get_random_id_number_for_proxy() -> str:
S = 8 # number of characters in the string.
ran = ''.join(random.choices(string.digits, k=S))
id_number = str(ran)
print("The randomly generated string is : " + str(ran)) # print the random data
return id_number
def get_random_id_number() -> str:
S = 8 # number of characters in the string.
ran = ''.join(random.choices(string.digits, k=S))
@@ -285,7 +279,7 @@ def on_success(result: ReserveResultPojo):
def launch_page():
PROXY_USERNAME = "panleicim-res-fr-" + get_random_id_number_for_proxy()
PROXY_USERNAME = "panleicim-res-fr-" + params.get_random_id_number_for_proxy()
print("proxy_username is " + PROXY_USERNAME)
proxy = {
"server": PROXY_SERVER,