在Python浏览器自动化(使用Selenium)中,处理多个操作的最佳方法是什么?

2024-06-08 07:38:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用python编写一个程序,它使用selenium在一个网站上为我自动竞价。在网站的投标部分,他们经常列出奖品和他们的“剩余时间”倒计时。有小奖品和大奖品。更大的奖品需要更多的票才能赢得,因为有更多的人想参加(这是基于概率和你参加的票数)。你知道吗

对于小奖品,我有足够的票,我可以在他们来的时候和他们的计时器用完之前出价。然而,对于大奖品,我得到门票的比率不足以在小奖品上出价,然后在计时器接近零时突然在大奖品上出价。由于你可以多次投标同一个奖项,我决定我想出价递增的大奖品,只使用我的门票的一部分,直到我得到我的“目标”数额的门票,该奖。你知道吗

问题是,当我有一个连续运行的函数,在小奖品上竞价(每次竞价后页面刷新,所有竞价都在同一页面上)时,我还想在我的程序中设置某种计时器,告诉它竞价,比如,大奖品2分钟,直到达到我想竞拍的奖品票数为止。那么,我应该用selenium打开一个新的浏览器窗口来获得大奖吗?或者我应该试着把大奖品的竞价和小奖品放在一起,使用相同的浏览器窗口吗?你知道吗

我有点想能够做第二个为“简化”的目的,但我不知道我将如何适应在大奖品与小奖品有点随机招标定时招标第二。你知道吗

谢谢。你知道吗


Tags: 程序目标网站selenium浏览器概率比率计时器
1条回答
网友
1楼 · 发布于 2024-06-08 07:38:10

这里有一个C语言的小代码片段,您可以在其中设置投标间隔/剩余时间。你知道吗

一旦时间/间隔完成,它将触发一个事件*大奖品\u勾选*,它将依次对大奖品进行竞价,直到您的票用完为止。你知道吗

static void Timer_Ticking(int Interval_in_Secs)
    {
        Timer timer = new Timer(); 
        timer.Interval = (1000) * (1);              // Timer will tick evert second
        timer.Enabled = true;                       // Enable the timer
        timer.Start();                              // Start the timer
        timer.Interval = Interval_in_Secs*1000;    //Equvivalent in milliseconds.
        System.Threading.Thread.Sleep(TimeSpan.FromSeconds(Interval_in_Secs));
        timer.Elapsed += new ElapsedEventHandler(LargePrize_Tick);
    }

    static void LargePrize_Tick(object sender, EventArgs e)
    {
        Console.WriteLine("Done with interval ");

        //Open Browsers
        //Bid for Prize till ticket is Available
        //Close browser after bidding.

    }

我希望这能帮上忙……一切顺利:)

相关问题 更多 >