11import os
2- import time
32import random
3+ import time
44
5- from tabulate import tabulate
5+ from loguru import logger
66from playwright .sync_api import sync_playwright
7-
7+ from tabulate import tabulate
88
99USERNAME = os .environ .get ("USERNAME" )
1010PASSWORD = os .environ .get ("PASSWORD" )
1111
12-
1312HOME_URL = "https://linux.do/"
1413
1514
1615class LinuxDoBrowser :
1716 def __init__ (self ) -> None :
1817 self .pw = sync_playwright ().start ()
19- self .browser = self .pw .firefox .launch (headless = True )
18+ self .browser = self .pw .firefox .launch (headless = True , timeout = 30000 )
2019 self .context = self .browser .new_context ()
2120 self .page = self .context .new_page ()
2221 self .page .goto (HOME_URL )
2322
2423 def login (self ):
24+ logger .info ("Login" )
2525 self .page .click (".login-button .d-button-label" )
2626 time .sleep (2 )
2727 self .page .fill ("#login-account-name" , USERNAME )
@@ -32,14 +32,15 @@ def login(self):
3232 time .sleep (10 )
3333 user_ele = self .page .query_selector ("#current-user" )
3434 if not user_ele :
35- print ("Login failed" )
35+ logger . error ("Login failed" )
3636 return False
3737 else :
38- print ( "Check in success" )
38+ logger . info ( "Login success" )
3939 return True
4040
4141 def click_topic (self ):
4242 for topic in self .page .query_selector_all ("#list-area .title" ):
43+ logger .info ("Click topic: " + topic .get_attribute ("href" ))
4344 page = self .context .new_page ()
4445 page .goto (HOME_URL + topic .get_attribute ("href" ))
4546 time .sleep (3 )
@@ -55,10 +56,12 @@ def run(self):
5556 self .print_connect_info ()
5657
5758 def click_like (self , page ):
59+ logger .info ("Click like" )
5860 page .locator (".discourse-reactions-reaction-button" ).first .click ()
59- print ("Like success" )
61+ logger . info ("Like success" )
6062
6163 def print_connect_info (self ):
64+ logger .info ("Print connect info" )
6265 page = self .context .new_page ()
6366 page .goto ("https://connect.linux.do/" )
6467 rows = page .query_selector_all ("table tr" )
0 commit comments