0

我正在用 python 编写一个程序,它使用 selenium 在网站上自动为我出价。在网站的投标部分,他们经常列出奖品和他们的“剩余时间”倒计时。有小奖,也有大奖。较大的奖品需要更多的彩票才能中奖,因为有更多的人想要参与其中(这取决于概率和您进入的彩票数量)。

对于小奖品,我有足够的门票,我可以在他们到来时和他们的计时器用完之前竞标。但是,对于大奖,我中奖的几率不足以中小奖,然后在计时器接近零时突然中奖。由于您可以多次竞标同一个奖品,因此我决定要逐步竞标大奖品,并且只使用我的一部分门票,直到我达到该奖品的“目标”门票数量。

问题是,虽然我有一个连续运行的功能,对小奖品出价(每次出价后页面刷新,所有出价都在同一页面上),但我还想在我的程序中设置某种计时器告诉它每隔 2 分钟就一个大奖出价,直到达到我想为该奖项出价的门票数量。那么我应该打开一个带有硒的新浏览器窗口来获得大奖吗?还是我应该尝试以某种方式将大奖的竞标与较小的奖相匹配并使用相同的浏览器窗口?

为了“简化”的目的,我有点希望能够做第二个,但我不确定我如何适应大奖的定时竞标和小奖的随机竞标。

谢谢。

4

1 回答 1

0

这是 C# 中的一个小代码片段,您可以在其中设置出价间隔/剩余时间。

一旦时间/间隔完成,它会触发一个事件*LargePrize_Tick*,这反过来将竞标大奖,直到您的门票用完为止。

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.

    }

我希望这会有所帮助....一切顺利:)

于 2012-11-22T09:15:42.180 回答