RPA定制

当前位置:

RPA机器人定制——小红书自动循环评论留言更新版

浏览量:7次

import xbot

from xbot import print, sleep

from .import package

from .package import variables as glv

import time

import random

import pyautogui


def main(args):

    Inputkeywords = args

    XHSfind = xbot.web.create("https://www.xiaohongshu.com/explore","chrome",load_timeout = 30)

    Delaytime = random.uniform(5, 10)

    time.sleep(Delaytime)

    Inputbox = XHSfind.find_by_xpath('//input[@id="search-input"]')  

    Inputbox.input(Inputkeywords,send_key_delay=800,delay_after=3)  

    Searchbutton = XHSfind.find_by_xpath('//div[@class="search-icon"]')

    Searchbutton.click(delay_after = 3,move_mouse = True)

    Delaytime = random.uniform(5, 10)

    time.sleep(Delaytime)

    XHSbrowser = xbot.web.get_active(mode='chrome')

    User = XHSbrowser.find_by_xpath('//div[@id="user" or text()=" 用户"]')

    User.click()

    Delaytime = random.uniform(5, 10)

    time.sleep(Delaytime)


    def check_element_exists():

            try:

                XHSbrowser = xbot.web.get_active(mode='chrome')

                element = XHSbrowser.find_by_xpath('//div[@class="end-container status-container" or text()=" - THE END - "]', timeout=1)

                return element.is_displayed()

            except:

                return False



    def scroll_down_pixels(pixels: int):

        Delaytime = random.uniform(2, 5)

        time.sleep(Delaytime)

        pyautogui.scroll(-pixels)

        return None



    话术1 = "[点赞R][点赞R]"

    话术2 = "[抱拳R]"

    话术3 = "[抱拳R][抱拳R][点赞R]"

    话术4 = "[抱拳R][点赞R]"

    话术5 = "[点赞R][抱拳R][抱拳R][点赞R]"

    话术6 = "[抱拳R][抱拳R][抱拳R]"

    话术7 = "[点赞R][点赞R][点赞R]"

    随机话术 = [话术1,话术2,话术3,话术4,话术5,话术6,话术7]



    while check_element_exists() ==False:

        Delaytime = random.uniform(1, 5)

        time.sleep(Delaytime)

        Mouseindex = xbot.win32.mouse_move(point_x=10,point_y=500,move_speed='slow',delay_after=1)

        xbot.win32.mouse_click()

        scroll_down_pixels(800)


    time.sleep(5)

    XHSbrowser = xbot.web.get_active(mode='chrome')

    XHSbrowser.scroll_to(location='top',behavior='smooth')

    Allcompany = XHSbrowser.find_all_by_xpath('//div//a/div[@class="user-item-box"]')

    print(f"下翻网页完成,共找到 {len(Allcompany)} 个用户,【前期准备】运行无异常")



    count = 0

    for i, Company in enumerate(Allcompany):  

        留言话术 = random.choice(随机话术)    

        index = i+1      

        try:

            XHSbrowser = xbot.web.get_active(mode='chrome')

            CompanyText = Company.get_text()

            if "更新" in CompanyText:

                try:

                    Company.click(delay_after = 3,move_mouse = True)

                    Delaytime = random.uniform(2, 5)

                    time.sleep(Delaytime)

                    CompanyUser = xbot.web.get_active(mode='chrome')

                    Note = CompanyUser.find_by_xpath('//span[normalize-space(.)="笔记" or text()="笔记"]',timeout=5)

                    Note.click(delay_after = 3,move_mouse = True,anchor=('bottomRight',0,180))

                    Delaytime = random.uniform(2, 5)

                    time.sleep(Delaytime)

                    User = xbot.web.get_active(mode="chrome")

                    Messageinputbox = User.find_by_xpath('//div[@class="inner"]//span[text()="评论" or text()="说点什么..."]',timeout=5)

                    Messageinputbox.input(留言话术,simulative=True,send_key_delay=800,delay_after=3,contains_hotkey=True)

                    xbot.win32.send_keys(keys='{enter}')

                    Delaytime = random.uniform(2, 5)

                    time.sleep(Delaytime)

                    xbot.win32.send_keys(keys='{Esc}')

                    CompanyUser = xbot.web.get_active(mode='chrome')

                    CompanyUser.close()

                except:

                    pass


                count = count + 1

                if count < 100:

                    print(f"循环{i+1}次,第{count}次评论,话术{留言话术}:公司名称:{CompanyText}")

                else:

                    break


            else:

                continue

        except:

            Delaytime = random.uniform(1, 5)

            time.sleep(Delaytime)

            continue


    XHSbrowser.close()


    pass



#仅供学习交流,严禁商用。 技术支持:若愚网络  汪华贝  18110488611(同V)