2012-11-22 24 views
0

我正在用python編寫一個程序,它使用硒在網站上爲我自動競價。在網站的投標部分,他們經常列出獎金和他們的「剩餘時間」倒計時。有小獎和較大的獎品。較大的獎品需要更多的入場券才能獲勝,因爲有更多的人想要入場(這是基於概率以及您輸入多少張入場券)。在Python瀏覽器自動化(使用Selenium)中處理多個動作的最佳方式是什麼?

對於小獎項,我有足夠的門票,我可以在他們來的時候和他們的計時器用完之前對他們出價。但是,對於大獎,我獲得門票的比率不足以投標小獎,然後在計時器接近零時突然出現大獎。由於您可以在同一獎項上多次出價,因此我決定我想爲大獎增量出價,並且只使用我的部分門票,直到我獲得該獎項的門票數量爲止。

問題是,雖然我有一個連續運行的功能,對小獎項進行出價(頁面在每次出價後刷新並且所有出價都在同一頁上),但我還想設置某種計時器在我的節目中,它告訴它每投出一個大獎2分鐘就可以出價,直到達到我想要獲得該獎金的票數。那麼我是否應該爲大獎賽打開一個新的硒瀏覽器窗口?或者我應該嘗試以某種方式將較大獎項的出價與較小獎金的出價相匹配,並使用相同的瀏覽器窗口?

我有點希望能夠做第二個「簡化」的目的,但我不知道如何適應大獎的定時招標與有些隨機競價小獎。

謝謝。

+0

PLZ與呈現出一些代碼片段說明問題所在,並在告訴你們的問題呢? –

回答

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. 

    } 

我希望這有助於....一切順利:)

相關問題