[英]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.