簡體   English   中英

d如何執行多行代碼,Python,Selenium

[英]dHow to execute multiple lines of code, Python, Selenium

我正在構建一個股票交易機器人,以便在股票交易模擬器上進行買賣。 我已經完成了所有的網絡抓取,所有的 send_keys 都完成了。 我只是希望能夠將多行代碼作為一個簡單的命令執行,而不必一遍又一遍地重復代碼,從而使程序變得很長。 例如,如果我想買一只股票,我必須執行所有這些代碼才能完成買單:

driver.find_element_by_xpath('/html/body/div[4]/div[3]/div[1]/div[1]/div/div[1]/input').click()     
driver.find_element_by_xpath('/html/body/div[4]/input').send_keys(('GOOGL') , Keys.RETURN) 
time.sleep(1)       
driver.find_element_by_xpath('/html/body/div[4]/div[3]/div[1]/table/tbody/tr/td[2]/a/span').click() 
time.sleep(1)
driver.find_element_by_xpath('/html/body/div[7]/div/div/div[3]/div/button').click()
time.sleep(1)
driver.find_element_by_xpath('//*[@id="shares"]').click() 
driver.find_element_by_xpath('//*[@id="shares"]').clear() 
driver.find_element_by_xpath('//*[@id="shares"]').send_keys('0.01') 
driver.find_element_by_xpath('/html/body/div[7]/div/div/div[1]/form/div[3]/div/button[3]').click() 

我對此很陌生,我知道這行不通,但是,我可以做類似的事情:

    Buy = driver.find_element_by_xpath('/html/body/div[4]/div/div[1]/input').click()     
    driver.find_element_by_xpath('/html/body/div[4]/input').send_keys(('GOOGL') , Keys.RETURN) 
    time.sleep(1)       
    driver.find_element_by_xpath('/html/body/div[4]/table/tbody/tr/td[2]/a/span').click() 
    time.sleep(1)
    driver.find_element_by_xpath('/html/body/div[7]/div/div/div[3]/div/button').click()
    time.sleep(1)
    driver.find_element_by_xpath('//*[@id="shares"]').click() 
    driver.find_element_by_xpath('//*[@id="shares"]').clear() 
    driver.find_element_by_xpath('//*[@id="shares"]').send_keys('0.01')
    driver.find_element_by_xpath('/html/body/div[7]/div/div[1]/form/div[3]/div/button[3]').click() 

然后,我可以在 If 語句中添加“購買”(或其他)變量,而不是整個代碼列表。

if xxxxxxxxx
execute "Buy"

你的意思是像 function?

def buy():
    driver.find_element_by_xpath('/html/body/div[4]/div[3]/div[1]/div[1]/div/div[1]/input').click()     
    driver.find_element_by_xpath('/html/body/div[4]/input').send_keys(('GOOGL') , Keys.RETURN) 
    time.sleep(1)       
    driver.find_element_by_xpath('/html/body/div[4]/div[3]/div[1]/table/tbody/tr/td[2]/a/span').click() 
    time.sleep(1)
    driver.find_element_by_xpath('/html/body/div[7]/div/div/div[3]/div/button').click()
    time.sleep(1)
    driver.find_element_by_xpath('//*[@id="shares"]').click() 
    driver.find_element_by_xpath('//*[@id="shares"]').clear() 
    driver.find_element_by_xpath('//*[@id="shares"]').send_keys('0.01') 
    driver.find_element_by_xpath('/html/body/div[7]/div/div/div[1]/form/div[3]/div/button[3]').click() 

現在您可以使用buy()運行您的代碼。

if condition:
    buy()

def x(): 是正確的解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM