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