from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import pandas as pd
import time
import re
driver=webdriver.Chrome()
driver.maximize_window()
def login(username,password):
#打开主页面
driver.get('http://stock.qq.com/2017stock/index.htm')
time.sleep(1)
#点击登录
driver.find_element_by_xpath('//*[@id="sign"]/div[2]/a[2]').click()
time.sleep(1)
#转移到登录窗口
driver.switch_to_frame("ptlogin-node-2")
time.sleep(1)
#点击账号密码登陆
driver.find_element_by_xpath('//*[@id="switcher_plogin"]').click()
time.sleep(1)
#清空账号输入框,输入账号
driver.find_element_by_xpath('//*[@id="u"]').clear()
driver.find_element_by_xpath('//*[@id="u"]').send_keys(username)
time.sleep(1)
#清空密码登录框,输入密码
driver.find_element_by_xpath('//*[@id="p"]').clear()
driver.find_element_by_xpath('//*[@id="p"]').send_keys(password)
time.sleep(1)
#点击登录
driver.find_element_by_xpath('//*[@id="login_button"]').click()
time.sleep(1)
#转移到主界面
driver.switch_to_default_content()
time.sleep(1)
#driver.find_element_by_xpath('//*[@id="sign"]/div[3]/div[2]/a').click()
#打开个人中心
driver.get('http://stock.qq.com/2017stock/simulateStock.htm')
time.sleep(1)
#login()
def buy(stock,price,amount):
driver.get('http://stock.qq.com/2017stock/simulateStock.htm')
time.sleep(1)
#点击买入
driver.find_element_by_xpath('/html/body/div[2]/div[4]/div[1]/ul/li[2]/div/span[2]').click()
#清空股票代码,输入新的股票代码
time.sleep(0.1)
driver.find_element_by_xpath('//*[@id="stock-code"]').clear()
driver.find_element_by_xpath('//*[@id="stock-code"]').send_keys(stock)
time.sleep(5)
driver.find_element_by_xpath('//*[@id="stock-code"]').send_keys(Keys.ENTER)
#清空价格,输入新的价格
time.sleep(0.1)
driver.find_element_by_xpath('//*[@id="buy-price"]').clear()
time.sleep(0.1)
driver.find_element_by_xpath('//*[@id="buy-price"]').send_keys(price)
#清空数量,填入新的数量
time.sleep(0.1)
driver.find_element_by_xpath('//*[@id="buy-count"]').clear()
time.sleep(0.1)
driver.find_element_by_xpath('//*[@id="buy-count"]').send_keys(amount)
#点击买入下单
time.sleep(0.1)
driver.find_element_by_xpath('/html/body/div[2]/div[4]/div[2]/div[3]/div[3]/a').click()
time.sleep(0.1)
driver.find_element_by_xpath('/html/body/div[5]/div[2]/div/button[1]/span').click()
def sell(stock,price,amount):
driver.get('http://stock.qq.com/2017stock/simulateStock.htm')
time.sleep(1)
#点击卖出
driver.find_element_by_xpath('/html/body/div[2]/div[4]/div[1]/ul/li[3]/div/span[2]').click()
#清空股票代码,输入新的股票代码
time.sleep(0.1)
driver.find_element_by_xpath(' //*[@id="sell-stock-code"]').clear()
time.sleep(0.1)
driver.find_element_by_xpath(' //*[@id="sell-stock-code"]').send_keys(stock)
time.sleep(0.1)
try:
driver.find_element_by_xpath(' //*[@id="sell-stock-code"]').send_keys(Keys.ENTER)
except:
message='无可卖股票'
time.sleep(0.1)
#输入价格
driver.find_element_by_xpath('//*[@id="sell-price"]').clear()
time.sleep(0.1)
driver.find_element_by_xpath('//*[@id="sell-price"]').send_keys(price)
time.sleep(0.1)
if amount!='all':
#输入股票数量
driver.find_element_by_xpath('//*[@id="sell-count"]').clear()
time.sleep(0.1)
driver.find_element_by_xpath('//*[@id="sell-count"]').send_keys(amount)
time.sleep(0.1)
if amount=='all':
#全部卖出
driver.find_element_by_xpath('/html/body/div[2]/div[4]/div[2]/div[4]/div[2]/div[1]/form/ul/li[4]/dl/dd/label[1]/input').click()
time.sleep(0.1)
#点击卖出下单
driver.find_element_by_xpath('/html/body/div[2]/div[4]/div[2]/div[4]/div[3]/a').click()
def get_tick(stock):
driver.get('http://stock.qq.com/2017stock/simulateStock.htm')
time.sleep(1)
#点击买入
driver.find_element_by_xpath('/html/body/div[2]/div[4]/div[1]/ul/li[2]/div/span[2]').click()
#清空股票代码,输入新的股票代码
time.sleep(0.1)
driver.find_element_by_xpath('//*[@id="stock-code"]').clear()
driver.find_element_by_xpath('//*[@id="stock-code"]').send_keys(stock)
time.sleep(5)
driver.find_element_by_xpath('//*[@id="stock-code"]').send_keys(Keys.ENTER)
time.sleep(0.1)
driver.switch_to_default_content()
page=driver.page_source
name=re.compile(r"""data.name">(.*?)</span>""").findall(page)
price=re.compile(r"""data.price">(.*?)</span>""").findall(page)
count=re.compile(r"""data.count">(.*?)</span>""").findall(page)
return {'name':name,'price':price,'count':count}
buy('000651','48.00','300')
get_tick('000651')
腾讯A股模拟炒股自动化
最新推荐文章于 2023-08-19 12:30:25 发布