当前位置: 首页>>代码示例>>Python>>正文


Python Browser.find_link_by_text方法代码示例

本文整理汇总了Python中splinter.Browser.find_link_by_text方法的典型用法代码示例。如果您正苦于以下问题:Python Browser.find_link_by_text方法的具体用法?Python Browser.find_link_by_text怎么用?Python Browser.find_link_by_text使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在splinter.Browser的用法示例。


在下文中一共展示了Browser.find_link_by_text方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: enable

# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import find_link_by_text [as 别名]
def enable():
    import time
    import requests
    import settings
    from splinter import Browser
    from xvfbwrapper import Xvfb

    print "Trying to enable myself."
    vdisplay = Xvfb()
    vdisplay.start()


    email = settings.getEmail()
    password = settings.getPassword()
    team_name = settings.getTeamName()
    bot_user = settings.getBotUser()

    browser = Browser('chrome')
    url = 'https://{}.slack.com/services/{}'.format(team_name, bot_user)
    browser.visit(url)
    browser.fill('email', email)
    browser.fill('password', password)
    browser.find_by_id('signin_btn').first.click()
    browser.find_link_by_text('Enable').first.click()
    time.sleep(2) # Sometimes I saw a crash where there was no alert, so we'll wait a bit first.
    alert = browser.get_alert()
    alert.accept()
    time.sleep(2) # If you close the display too quickly, the request doesn't get processed.

    vdisplay.stop()
开发者ID:chaosking121,项目名称:mal,代码行数:32,代码来源:shenanigans.py

示例2: LoginTestCase

# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import find_link_by_text [as 别名]
class LoginTestCase(unittest.TestCase):

  def setUp(self):
    self.testbed = testbed.Testbed()
    self.testbed.activate()
    self.testbed.init_datastore_v3_stub()
    self.testbed.init_memcache_stub()
    self.browser = Browser('chrome')

  def tearDown(self):
    self.testbed.deactivate()

  def test_login(self):
    self.browser.visit("http://127.0.0.1:8080/")
    self.assertEqual(self.browser.find_by_tag("h3").first.text, "Not logged in")

    self.browser.find_by_id("submit-login").first.click()
    self.assertEqual(self.browser.find_link_by_text("Insurance").first.text, "Insurance")

  def test_logout(self):
    self.browser.visit("http://127.0.0.1:8080/")
    self.assertEqual(self.browser.find_by_tag("h3").first.text, "Not logged in")

    self.browser.find_by_id("submit-login").first.click()
    self.assertEqual(self.browser.find_link_by_text("Insurance").first.text, "Insurance")

    self.browser.find_link_by_text("Log out").first.click()
    self.assertEqual(self.browser.find_by_tag("h3").first.text, "Not logged in")
开发者ID:chybatronik,项目名称:task-manager-gae,代码行数:30,代码来源:test_login.py

示例3: make

# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import find_link_by_text [as 别名]
def make(b,c):
	browser=Browser('chrome') 
	url='http://admin2.okzaijia.com.cn/Account/login'
	browser.visit(url)
	browser.find_by_id('UserName').fill('Tina')
	browser.find_by_id('Password').fill('13916099416')
	browser.find_by_id('LoginOn').click()
	browser.find_by_xpath('/html/body/div[1]/div[1]/div/div[2]/div/div/ul/li/a').click()
	if b==1:
		browser.find_link_by_text(u'新增订单').click()
		browser.windows.current=browser.windows[1]
	#print 	browser.windows.current
		textnew=browser.find_by_name('RepairContent')
		textnew.fill(random.randint(10000,19999))
		a=''.join([chr(random.randint(97,122)) for _ in range(4)])
		browser.find_by_id('UserName').fill(a)
		browser.find_by_id('UserMobile').fill(random.randint(15138460867,19000000000))
		browser.select('Source',random.randint(1,10))
		browser.select('AreaId',random.randint(801,819))
		browser.find_by_id('UserAddress').fill(random.randint(3000,9999))
		browser.find_by_xpath('//*[@id="submit"]').click()
		time.sleep(2)
		
	else:
		browser.find_by_name('orderno').fill(c)
		browser.find_by_xpath('//*[@id="searchForm"]/div[7]/button').click()
		browser.find_by_text(u'维修记录').click()
		browser.find_by_xpath("/html/body/div[1]/div[1]/div/div[2]/div[1]/a").click()
		browser.windows.current=browser.windows[1]
		b=''.join([chr(random.randint(97,122)) for _ in range(5)])
		browser.find_by_name('RepairContent').fill(b)
		browser.find_by_name('Remark').fill(random.randint(20000,29999))
		browser.find_by_id('submit').click()
		time.sleep(3)
	browser.visit('http://admin2.okzaijia.com.cn/Task/MyTask?TaskType=4&Status=1')
	browser.windows.current=browser.windows[1]
#print 	browser.windows.current	
	browser.find_by_xpath('//*[@id="searchForm"]/div[3]/button').click()
	browser.find_by_xpath('//*[@id="pages"]/div/a[7]').click()
	browser.find_by_text(u'执行任务').last.click()
	time.sleep(2)
	browser.windows.current=browser.windows[2]
	browser.find_by_value('37').click()#选择接单的施工组
	#print browser.find_by_value('17').text
	browser.find_by_id('submit').click()
开发者ID:Josen15,项目名称:kuaixiuscript,代码行数:47,代码来源:first.py

示例4: submitQueue

# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import find_link_by_text [as 别名]
def submitQueue(NETID, PASSWORD, SECURITY_QUESTIONS):

    browser = Browser()

    # netid page
    browser.visit("https://puaccess.princeton.edu/psp/hsprod/EMPLOYEE/HRMS/h/?tab=DEFAULT")
    browser.fill('userid', NETID)
    browser.find_by_value("Continue").first.click()

    # password page
    browser.fill('Bharosa_Password_PadDataField', PASSWORD)
    browser.evaluate_script("Bharosa_Password_Pad.keyPress('ENTERKEY');")

    # security question page
    html = browser.html

    for key in SECURITY_QUESTIONS.keys():
        
        if key in html:
            
            answer = SECURITY_QUESTIONS[key]

    browser.fill('Bharosa_Challenge_PadDataField', answer)
    browser.evaluate_script("Bharosa_Challenge_Pad.keyPress('ENTERKEY');")

    time.sleep(2)

    # welcome to SCORE
    browser.find_link_by_text("Student Center").first.click()


    # student center, start by busting out of the iframe
    browser.visit("https://puaccess.princeton.edu/psc/hsprod/EMPLOYEE/HRMS/c/SA_LEARNER_SERVICES.SSS_STUDENT_CENTER.GBL?PORTALPARAM_PTCNAV=HC_SSS_STUDENT_CENTER&EOPP.SCNode=HRMS&EOPP.SCPortal=EMPLOYEE&EOPP.SCName=ADMN_SCORE&EOPP.SCLabel=&EOPP.SCPTcname=ADMN_SC_SP_SCORE&FolderPath=PORTAL_ROOT_OBJECT.PORTAL_BASE_DATA.CO_NAVIGATION_COLLECTIONS.ADMN_SCORE.ADMN_S200801281459482840968047&IsFolder=false&PortalActualURL=https%3a%2f%2fpuaccess.princeton.edu%2fpsc%2fhsprod%2fEMPLOYEE%2fHRMS%2fc%2fSA_LEARNER_SERVICES.SSS_STUDENT_CENTER.GBL&PortalContentURL=https%3a%2f%2fpuaccess.princeton.edu%2fpsc%2fhsprod%2fEMPLOYEE%2fHRMS%2fc%2fSA_LEARNER_SERVICES.SSS_STUDENT_CENTER.GBL&PortalContentProvider=HRMS&PortalCRefLabel=Student%20Center&PortalRegistryName=EMPLOYEE&PortalServletURI=https%3a%2f%2fpuaccess.princeton.edu%2fpsp%2fhsprod%2f&PortalURI=https%3a%2f%2fpuaccess.princeton.edu%2fpsc%2fhsprod%2f&PortalHostNode=HRMS&NoCrumbs=yes&PortalKeyStruct=yes")
    browser.select('DERIVED_SSS_SCL_SSS_MORE_ACADEMICS', "1005")
    browser.find_by_id("DERIVED_SSS_SCL_SSS_GO_1").first.click()

    # pick semester
    browser.choose("SSR_DUMMY_RECV1$sels$0", "1")
    browser.find_by_id("DERIVED_SSS_SCT_SSR_PB_GO").first.click()

    # select classes to add... class should already be in queue
    browser.find_by_id("DERIVED_REGFRM1_LINK_ADD_ENRL$115$").first.click()

    # confirm classes
    browser.find_by_id("DERIVED_REGFRM1_SSR_PB_SUBMIT").first.click()
开发者ID:evancchow,项目名称:sent_S14,代码行数:47,代码来源:sentinel.py

示例5: Retreiver

# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import find_link_by_text [as 别名]
class Retreiver():
	def __init__(self, folder):
		self.aux = Auxiliary()
		self.folder = folder
		self.tickers = None
		
	def click(self, destination):
		try:
			self.browser.find_by_text(destination).first.click()
		except splinter.exceptions.ElementDoesNotExist:
			self.browser.click_link_by_text(destination)
		
	def retreive(self):
		print ('Please enter the period for retrieval.')
		raw_dates = input ('Dates in European format: dd/mm/yyyy\n>')
		eurodates = self.aux.date_parse(raw_dates)[0]
		dates = self.aux.european_dates_to_american(eurodates)
		raw_tickers = input ('Tickers:\n>')
		self.tickers = self.aux.parse_tickers(raw_tickers)

		self.browser = Browser('chrome')
		for ticker in self.tickers:
			self.browser.visit('https://beta.finance.yahoo.com/quote/%s/history' % ticker)
			time.sleep(5)
			input_boxes = self.browser.find_by_tag('input')
			for i in range(0,6):
				input_boxes[i+2].fill(dates[i]) #we need 3-8 inputs
			self.click('Apply')
			download_link = self.browser.find_link_by_text('Download data').first
			response = requests.get(download_link['href'])
			with open('%s//%s.csv' % (self.folder, ticker), 'wb') as f:
				f.write(response.content)		
		self.browser.quit()
		
	def put_together(self):
		if not self.tickers:
			self.tickers = []
			for f in os.listdir(self.folder):
				self.tickers.append(f[:-4])
		target = openpyxl.Workbook()
		sheet = target.active
		sheet.append(self.tickers)
		for filename in os.listdir(self.folder):
			source = open('%s//%s' %(self.folder, filename), 'r', encoding='utf-8')
			sheet = target.create_sheet()
			sheet.title = filename[:-4] #strip out the extension
			for line in source:
				sheet.append(self.aux.parse_comma_separated_line(line))
			source.close()
		target.save('Historical_data_together.xlsx')
开发者ID:fadinartem,项目名称:fin-python,代码行数:52,代码来源:get_quotes_from_yahoo.py

示例6: print

# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import find_link_by_text [as 别名]
					button.click() 		# Click OK
					break

	# --Download page reached--
	format = browser.find_by_id('downloadFormatMenu0').first # Open download format chooser
	format.click()

	# Switch to your desired download format
	for a in browser.find_by_tag('a'):
		if dl_format+' -' in a.value:
			a.click()
			print('Switching to '+dl_format+' format.')
			break

	# Print format being used
	format = browser.find_by_id('downloadFormatMenu0').first
	print('Format: '+format.value)

	# Wait while the download is being prepared...
	print('Preparing download.')
	while browser.is_text_present('preparing'):
		time.sleep(5)

	# Grab final download link
	downloadLink = browser.find_link_by_text('Download').first
	print('Got download link! Starting download...')
	url = downloadLink['href']
	file_name = wget.download(url)	# Download the link using wget

# Repeat for other albums in the list
开发者ID:marekceglowski,项目名称:Bandcamp-Download-Automation,代码行数:32,代码来源:DownloadZips.py

示例7: Browser

# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import find_link_by_text [as 别名]
countryList = ['australia','chile']

countryTypeList = ['developed_', 'developing_']

typeaNameList = ['Existing_Scotia_Public', 'Existing_Scotia_Private', 'Non_Scotia_Public', 'Non_Scotia_Private']
devdCompanyNameList = ['TOYOTA TSUSHO CORPORATION','BASCO DESEMBUAGE','A&T CORPORATION','asdf']
devgCompanyNameList = [countryList[1],countryList[1],countryList[1],'asdf']

# open browser, navigate to the right page, configure, 
from splinter import Browser
browser = Browser()

from selenium.webdriver.common.keys import Keys
from selenium import webdriver

browser.visit('https://clientnet-uat.gbm.bns:8090/CNETADMIN/login.jsp?ssosrc=http%3A%2F%2Fclientnet-uat.gbm.bns%2FCNETCORP%2Findex.do')
browser.fill('uid', 'ychoe')
browser.fill('pwd', 'Winter15')
browser.find_by_name('signin').first.click()

browser.fill('clientSearchString', 'jason\'s client')
browser.find_by_name('search').first.click()
browser.find_by_value('GO').first.click()


while len(browser.find_link_by_text('Delete'))>0:
	browser.find_link_by_text('Delete').first.click()
	browser.get_alert().accept()

开发者ID:yuxianggu,项目名称:deal_creater_5_deals,代码行数:30,代码来源:scenario_delete_all_GBM_jasons_client.py

示例8: DownPatent

# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import find_link_by_text [as 别名]
class DownPatent(object):
    def __init__(self, db, down_url):
        self.db = db
        self.down_url = down_url
        self.browser = Browser("phantomjs", wait_time=10)
        #self.browser = Browser()

    #下载专利
    def download(self, patentno):
        #访问网页
        #网页加载超时
        #down_flag, 0:未下载,1:不存在,2:下载失败
        download_link = ""
        down_flag = 0
        if True:
            print "打开网页"
            self.browser.visit(self.down_url)
            if not self.browser.is_element_not_present_by_value("查询", wait_time=10):
                #填写专利号
                self.browser.fill("cnpatentno", patentno)
                self.browser.find_by_value("查询").first.click()
                print "填写专利号"
                #连接超时,404
                if self.browser:
                    print "打开验证码网页"
                    #一个最多循环20次
                    code_handler = CodeHandler()
                    #填写验证码
                    list_fill_text = []
                    #验证码路径
                    list_code_path = []
                    #验证码分割标志
                    list_split_flag = []
                    #验证码识别标志
                    list_reg_flag = []
                    for code_num in xrange(20):
                        print code_num
                        #查找验证码
                        if not self.browser.is_element_not_present_by_id("getcode", wait_time=5):
                            print "查找验证码"
                            #截图
                            #self.browser.driver.maximize_window()
                            self.browser.driver.save_screenshot("screenshot.png")
                            #获取验证码图片
                            image = Image.open("screenshot.png")
                            image_location = self.find_location(image)
                            image_code = image.crop((image_location[0], image_location[1], image_location[0]+52, image_location[1]+21))
                            save_path = "static/images/onlinecode/" + time.ctime() + ".png"
                            save_path_temp = "../%s" % save_path
                            image_code.save(save_path_temp)
                            list_code_path.append(save_path)

                            #分割图片
                            list_split_image = self.deal_split(code_handler, image_code)
                            
                            #识别,如果能正确识别,则识别,不能,则重新获取验证码      
                            if len(list_split_image) == 4:
                                print "正确分割"
                                list_split_flag.append(1)
                                reg_plain_text = self.reg_code(list_split_image)
                                fill_text = "".join(reg_plain_text)
                                list_fill_text.append(fill_text)
                                #填写验证码
                                #hand_fill_text = raw_input("Enter fill text:")
                                self.browser.fill("ValidCode", fill_text)
                                self.browser.find_by_value("确定").first.click()

                                print self.browser.html.encode("utf-8").find("验证码输入错误") 
                                if self.browser.html.encode("utf-8").find("验证码输入错误") == -1:
                                    list_reg_flag.append(1)
                                    if self.browser.html.encode("utf-8").find("没有找到该专利") == -1:
                                        down_link_one = self.browser.find_link_by_text("申请公开说明书图形下载(标准版)")
                                        down_link_two = self.browser.find_link_by_text("申请公开说明书图形下载(极速版)")
                                        if down_link_one or down_link_two:
                                            print "查找说明书图形下载链接"
                                            list_reg_flag.append(1)
                                            if down_link_one:
                                                self.browser.click_link_by_text("申请公开说明书图形下载(标准版)")
                                            else:
                                                self.browser.click_link_by_text("申请公开说明书图形下载(极速版)")
                                            
                                            print "查找下载链接"
                                            #查找下载链接
                                            download_a = self.browser.find_link_by_text("下载专利")
                                            if download_a:
                                                download_link = download_a["href"]
                                            
                                                #找到下载链接
                                                down_flag = 3
                                                break
                                            else:
                                                print "下载失败"
                                                #下载失败
                                                down_flag = 2
                                                break
                                        '''
                                        else:
                                            print "识别正确,未找到链接"
                                            list_reg_flag.append(0)
                                            self.browser.back()
#.........这里部分代码省略.........
开发者ID:happyin3,项目名称:captchaimgs,代码行数:103,代码来源:patentclass.py

示例9: Institution

# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import find_link_by_text [as 别名]
		typeaName = typeaNameList[cType]

		if cType == 0 or cType == 1:
			# pass

			for igType in igTypeListScotia:

				# fdsf
				browser.find_by_name('addScenario').first.click()
				browser.fill('scName', countryTypeList[conIndex]+typeaName+igType)
				browser.type('scEffDate', '\b\b\b\b\b\b\b\b\b\b')
				browser.type('scEffDate', '2015-10-31')
				browser.find_by_name('update').first.click()

				browser.find_link_by_text('Obligor').first.click()

				# choose the companyType type
				element = browser.find_by_name('companyType').first
				element.select(str(cType))

				browser.fill('obligorName', companyName)
				browser.find_by_name('ObligorSearch').first.click()
			
				browser.find_link_by_partial_href('javascript:refPortResult')[0].click()

				# select "B-III counterpaty type" to be "corporate"
				element = browser.find_by_name('counterPartyType').first
				element.select('1')
				# select "Classification re Asset Value Correlation" to be "Non-Financial Institution (N)"
				element = browser.find_by_name('avc').first
开发者ID:yuxianggu,项目名称:deal_creater_5_deals,代码行数:32,代码来源:deal_creater_GBM.py

示例10: main

# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import find_link_by_text [as 别名]
def main(argv):
	email = None
	txtipt = None
	socks = None
	socksPort = None
	try:
		opts, args = getopt.getopt(argv, "hi:m:S:P:",["port=","socks=","input=","mail=","help"])
	except:
		print "Use --help for help"
		sys.exit(2)

	for opt, arg in opts:
		if opt in ("-h", "--help"):
			print 'Usage %s options \n' % (os.path.basename(__file__))
			print '      -h, --help           This help'
			print '      -m, --mail           Your facebook login email'
			print '      -i, --input          Your input file name'
			print '      -S, --socks          Socks Proxy Address for Tor use'
			print '      -P, --port           Port Socks for Tor use'
			sys.exit()
		elif opt in ("-i","--input"):
			txtipt = arg
		elif opt in ("-m","--mail"):
			email = arg
		elif opt in ("-S","--socks"):
			socks = arg
		elif opt in ("-P","--port"):
			socksPort = arg
	if not email or not txtipt:
		print 'Use --help for help'
		sys.exit()

	password = getpass.getpass()

	if socks and socksProt:
		proxy_settings = {
		'network.proxy.type':1,
		'network.proxy.socks': socks,
		'network.proxy.socks_port': socksPort
		}

		browser = Browser('firefox',profile_preferences=proxy_settings)
	else:
		browser = Browser()
	# with Browser() as browser:
		browser.visit('https://m.facebook.com/')
		browser.fill("email",email);
		browser.fill("pass",password);
		browser.find_by_name("login").click()

		if browser.is_element_present_by_css('.login_error_box'):
			print 'The email and password didn\'t work.'
			sys.exit()
		
		try:
			fileipt = open(txtipt, 'r')
		except:
			sys.exit('Unable to open file %s' % txtipt)

		for line in fileipt:
			browser.visit(line)
			addButton = browser.find_link_by_text('Add Friend')
			if len(addButton) > 0:
				addButton[0].click()
开发者ID:skladsec,项目名称:facebookFriendSaver,代码行数:66,代码来源:facebookFriendLoader.py

示例11: Browser

# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import find_link_by_text [as 别名]
countryTypeList = ['developed_', 'developing_']

typeaNameList = ['Existing_Scotia_Public', 'Existing_Scotia_Private', 'Non_Scotia_Public', 'Non_Scotia_Private']
devdCompanyNameList = ['TOYOTA TSUSHO CORPORATION','BASCO DESEMBUAGE','A&T CORPORATION','asdf']
devgCompanyNameList = [countryList[1],countryList[1],countryList[1],'asdf']

# open browser, navigate to the right page, configure, 
from splinter import Browser
browser = Browser()

from selenium.webdriver.common.keys import Keys
from selenium import webdriver

browser.visit('https://clientnet-uat.gbm.bns:8090/CNETADMIN/login.jsp?ssosrc=http%3A%2F%2Fclientnet-uat.gbm.bns%2FCNETCOMM%2Findex.do')
browser.fill('uid', 'ychoe')
browser.fill('pwd', 'Winter15')
browser.find_by_name('signin').first.click()

browser.find_link_by_text('International Banking').first.click()

browser.fill('clientSearchString', 'RF vs RFDA test cases')
browser.find_by_name('search').first.click()
browser.find_by_value('GO').first.click()


while len(browser.find_link_by_text('Delete'))>0:
	browser.find_link_by_text('Delete').first.click()
	browser.get_alert().accept()

开发者ID:yuxianggu,项目名称:deal_creater_5_deals,代码行数:30,代码来源:scenario_delete_all_IB_'RF+vs+RFDA+test+cases'.py

示例12: Browser

# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import find_link_by_text [as 别名]
typeaNameList = ['scotia_pub_', 'scotia_priv_', 'nonsco_pub_', 'nonsco_priv_']
typeaNameList2 = ['scotia_pub', 'scotia_priv', 'nonsco_pub', 'nonsco_priv']
devdCompanyNameList = ['TOYOTA TSUSHO CORPORATION','BASCO DESEMBUAGE','A&T CORPORATION','asdf']
devgCompanyNameList = [countryList[1],countryList[1],countryList[1],'asdf']

# open browser, navigate to the right page, configure, 
from splinter import Browser
from splinter import driver
browser = Browser()

browser.visit('https://clientnet-uat.gbm.bns:8090/CNETADMIN/login.jsp?ssosrc=http%3A%2F%2Fclientnet-uat.gbm.bns%2FCNETCOMM%2Findex.do')
browser.fill('uid', 'ychoe')
browser.fill('pwd', 'Winter15')
browser.find_by_name('signin').first.click()

browser.find_link_by_text('International Banking').first.click()

browser.fill('clientSearchString', 'RF vs RFDA test cases')
browser.find_by_name('search').first.click()
browser.find_by_value('GO').first.click()

for conIndex in range(2):

	for cType in range(4):

		if conIndex == 0:
			companyName = devdCompanyNameList[cType]
		else:
			companyName = devgCompanyNameList[cType]

		typeaName = typeaNameList[cType]
开发者ID:yuxianggu,项目名称:deal_creater_5_deals,代码行数:33,代码来源:deal_creater_IB.py

示例13: TestViews

# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import find_link_by_text [as 别名]
class TestViews(unittest.TestCase):
    def setUp(self):
        """Test setup """
        #define browser instance
        self.browser = Browser("phantomjs")
        
        #Set up the tables in the database
        Base.metadata.create_all(engine)
        
        #Create an example user
        self.user = User(name="Alice", email="[email protected]", password=generate_password_hash("test"))
        session.add(self.user)
        session.commit()
        
        self.process = multiprocessing.Process(target=app.run, kwargs={"port": 8080})
        self.process.start()
        time.sleep(1)
        
        
    def test_login_correct(self):
        #navigate to demo website
        
        self.browser.visit("http://127.0.0.1:8080/login")
        #enter user name and password in their fields
        
        self.browser.fill("email", "[email protected]")
        self.browser.fill("password", "test")
        #define Log in button
       
        button = self.browser.find_by_css("button[type=submit]")
        #click on the Log in button
        
        button.click()
        self.assertEqual(self.browser.url, "http://127.0.0.1:8080/")     
            
        
    def test_login_incorrect(self):
        
        self.browser.visit("http://127.0.0.1:8080/login")
        self.browser.fill("email", "bo[email protected]")
        self.browser.fill("password", "test")
        button = self.browser.find_by_css("button[type=submit]")
        button.click()
        self.assertEqual(self.browser.url, "http://127.0.0.1:8080/login")    
        
    def test_logout(self):
        #navigate to demo log in website
        self.browser.visit("http://127.0.0.1:8080/login")
        self.browser.fill("email", "[email protected]")
        self.browser.fill("password", "test")
        button = self.browser.find_by_css("button[type=submit]")
        button.click()
        
        #confirm return to home page
        self.assertEqual(self.browser.url, "http://127.0.0.1:8080/")     
        
        #navigate to demo log out website
        self.browser.visit("http://127.0.0.1:8080/logout")
        
        #confirm log out link exists
        logout_link= self.browser.find_link_by_text("Log out")
        
        #confirm return to log in page
        self.assertEqual(self.browser.url, "http://127.0.0.1:8080/login")
        
    
    
    
    def test_add_entry_edit(self):
        self.browser.visit("http://127.0.0.1:8080/login")
        self.browser.fill("email", "[email protected]")
        self.browser.fill("password", "test")
        button = self.browser.find_by_css("button[type=submit]")
        button.click()
        
        self.assertEqual(self.browser.url, "http://127.0.0.1:8080/")     
        # check add entry link exists
        
        self.browser.visit("http://127.0.0.1:8080/entry/add")
        first_found = self.browser.find_by_name("title").first
        last_found = self.browser.find_by_name("content").last
        button = self.browser.find_by_css("button[type=submit]")
        
        
        self.browser.visit("http://127.0.0.1:8080/entry/edit")
        
        self.browser.find_by_name("title")
        self.browser.find_by_name("content")
       # self.browser.find_by_value("entry_title").first why is splinter not recognising flask format in html 
        #self.browser.find_by_value("entry_content").last
        button = self.browser.find_by_css("button[type=submit]")
        #self.assertEqual(self.browser.url, "http://127.0.0.1:8080/") this gives error
        
        # all tests are running ok but I noticed that get/entry/edit gave a 404. Why? 
    
        
#test entry author is th person editing and is logged in
    def tearDown(self):
        """ Test teardown """
        # Remove the tables and their data from the database
#.........这里部分代码省略.........
开发者ID:Aderules,项目名称:blogful,代码行数:103,代码来源:test_views_acceptance.py

示例14: UploadTestCase

# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import find_link_by_text [as 别名]
class UploadTestCase(unittest.TestCase):

  def setUp(self):
    self.testbed = testbed.Testbed()
    self.testbed.activate()
    self.testbed.init_datastore_v3_stub()
    self.testbed.init_memcache_stub()
    self.browser = Browser('chrome')

  def tearDown(self):
    self.testbed.deactivate()

  def test_when_create_task_upload_file(self):
    #login
    self.browser.visit("http://127.0.0.1:8080/")
    self.assertEqual(self.browser.find_by_tag("h3").first.text, "Not logged in")
    self.browser.find_by_id("submit-login").first.click()
    self.assertEqual(self.browser.find_link_by_text("Insurance").first.text, "Insurance")

    self.browser.visit("http://127.0.0.1:8080/tasks")

    self.browser.click_link_by_text('Create new task')

    self.browser.fill('title', 'title')
    self.browser.fill('text', 'text')

    self.browser.is_element_present_by_name('files[]', wait_time=10)

    self.browser.attach_file('files[]', os.path.join(os.path.dirname(__file__),'1.png'))
    #self.browser.attach_file('files[]', 'test/1.png')
    self.browser.find_by_css('.btn.btn-primary.start').first.click()


    self.assertEqual(1, len(self.browser.find_by_css('.template-download.fade.in')))
    self.assertEqual(4, len(self.browser.find_by_css('.template-download.fade.in td')))

  def test_when_create_task_upload_many_files(self):
    #login
    self.browser.visit("http://127.0.0.1:8080/")
    self.assertEqual(self.browser.find_by_tag("h3").first.text, "Not logged in")
    self.browser.find_by_id("submit-login").first.click()
    self.assertEqual(self.browser.find_link_by_text("Insurance").first.text, "Insurance")

    self.browser.visit("http://127.0.0.1:8080/tasks")

    self.browser.click_link_by_text('Create new task')

    self.browser.fill('title', 'title')
    self.browser.fill('text', 'text')

    self.browser.is_element_present_by_name('files[]')

    self.browser.attach_file('files[]', os.path.join(os.path.dirname(__file__),'1.png'))
    self.browser.attach_file('files[]', os.path.join(os.path.dirname(__file__),'1.png'))
    self.browser.attach_file('files[]', os.path.join(os.path.dirname(__file__),'1.png'))

    #self.browser.attach_file('files[]', 'test/1.png')
    self.browser.find_by_css('.btn.btn-primary.start').first.click()
    sleep(3)

    self.assertEqual(3, len(self.browser.find_by_css('.files tr.template-download')))
开发者ID:chybatronik,项目名称:task-manager-gae,代码行数:63,代码来源:test_upload_file.py


注:本文中的splinter.Browser.find_link_by_text方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。