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


Python Browser.reload方法代码示例

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


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

示例1: __init__

# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import reload [as 别名]
class MyBrowser:
    """
    This class is a browser class, which can setting your browser type
    """

    def __init__(self):
        self.browser = Browser(settings.get('BROWSER_TYPE'))
        logger.info('Splinter browser is init!')

    def close(self):
        self.browser.quit()
        logger.info('Splinter browser is close success!')

    def visit(self, url):
        self.browser.visit(url)
        logger.info('Splinter browser is visiting : %s' % url)

    def get_html(self):
        return self.browser.html

    def get_title(self):
        return self.browser.title

    def reload(self):
        self.browser.reload()
开发者ID:superman1982,项目名称:dark,代码行数:27,代码来源:browser.py

示例2: patent_parser

# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import reload [as 别名]
def patent_parser(search_exp):
    """@todo: Docstring for patent_parser.
    """
    patent_list = []
    b = Browser("phantomjs")
    b.reload()
    b.visit('http://www.pss-system.gov.cn/sipopublicsearch/search/searchHome-searchIndex.shtml')
    b.fill('searchInfo', search_exp)
    b.click_link_by_text(u'检索')
    b.is_element_not_present_by_css('.s_c_conter', wait_time=8)
    for _ in xrange(10):
        item_list = b.find_by_css('.s_c_conter')
        for item in item_list:
            info_list = item.find_by_tag('td')
            if not urlset.has_url('patent', info_list[0].text[6:]):
                try:
                    patent = Patent(id=info_list[0].text[6:],
                                    path='~',
                                    title=info_list[4].text[6:],
                                    abstract='~',
                                    inventor=info_list[7].text[5:].split(';')[:-1],
                                    applicant=info_list[6].text[10:].split(';')[:-1],
                                    category=info_list[5].text[8:].split('; '),
                                    update_time=time.strftime('%Y-%m-%dT%XZ', time.gmtime()))
                    patent_list.append(patent)
                    print patent.id, 'new'    # @todo logs
                except:
                    print 'error patent'
        if b.is_text_present(u'下一页'):
            b.click_link_by_text(u'下一页')
            b.is_element_not_present_by_css('.s_c_conter', wait_time=8)
        else:
            break
    try:
        solr.add('patent', patent_list)
    except:
        'err adding patent'
    finally:
        b.quit()
开发者ID:C0reFast,项目名称:intelliQ,代码行数:41,代码来源:parser.py

示例3: SplinterBrowserDriver

# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import reload [as 别名]
class SplinterBrowserDriver(BaseBrowserDriver):
    """
        This is a BrowserDriver for splinter
        (http://splinter.cobrateam.info)
        that implements the BaseBrowserDriver API.

        To use it, you must have splinter installed on your env.

        For itself it's a browser driver that supports multiple browsing
        technologies such as selenium, phantomjs, zope, etc.
    """

    driver_name = 'splinter'

    def __init__(self):
        super(SplinterBrowserDriver, self).__init__()
        if not splinter_available:
            raise ImportError(
                "In order to use splinter Base Driver you have to install it. "
                "Check the instructions at http://splinter.cobrateam.info")
        self._browser = Browser(config.default_browser)

    def _handle_empty_element_action(self, element):
        if not element:
            raise ActionNotPerformableException(
                "The action couldn't be perfomed because the element couldn't "
                "be found; Try checking if your element"
                "selector is correct and if the page is loaded properly.")

    @property
    def page_url(self):
        return self._browser.url

    @property
    def page_source(self):
        return self._browser.html

    @property
    def page_title(self):
        return self._browser.title

    def open_url(self, url):
        self._browser.driver.get(url)

    def quit(self):
        return self._browser.quit()

    def is_element_visible(self, element):
        return element.visible

    def get_element_text(self, element):
        return element.text

    def get_element_by_xpath(self, selector):
        return self._browser.find_by_xpath(selector)

    def get_element_by_css(self, selector):
        return self._browser.find_by_css(selector)

    def get_element_by_id(self, selector):
        return self._browser.find_by_id(selector)

    def get_element_by_tag(self, selector):
        return self._browser.find_by_tag(selector)

    @element_action
    def type(self, element, text, slowly=False):
        return element.type(text, slowly)

    @element_action
    def fill(self, element, text):
      return element.fill(text)

    @element_action
    def clear(self, element):
      self.fill(element, '')

    @element_action
    def click(self, element):
        return element.click()

    @element_action
    def check(self, element):
        return element.check()

    @element_action
    def uncheck(self, element):
        return element.uncheck()

    @element_action
    def mouse_over(self, element):
        return element.mouse_over()

    @element_action
    def mouse_out(self, element):
        return element.mouse_out()

    def reload(self):
        return self._browser.reload()

#.........这里部分代码省略.........
开发者ID:leogamas,项目名称:pyfunct,代码行数:103,代码来源:splinter_driver.py

示例4: DownPatent

# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import reload [as 别名]

#.........这里部分代码省略.........
                                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()
                                            self.browser.reload()
                                        '''
                                    else:
                                        print "不存在专利"
                                        #没有专利
                                        down_flag = 1
                                        break
                                else:
                                    print "识别错误,重新加载"
                                    list_reg_flag.append(0)
                                    self.browser.back()
                                    self.browser.reload()
                            else:
                                print "不能分割"
                                list_fill_text.append("")
                                list_split_flag.append(0)
                                list_reg_flag.append(0)
                                self.browser.reload()
                    
                    #存入数据集onlinecode,专利号,验证码路径,识别码,识别标志,不可分标志,时间
                    
                    for code_path, fill_text, split_flag, reg_flag in zip(list_code_path,list_fill_text, list_split_flag, list_reg_flag):
                        try:
                            self.db.onlinecode.insert({"indexflag": patentno, "codepath": code_path, "filltext": fill_text, \
                                                      "splitflag": split_flag, "regflag": reg_flag, "time": time.ctime()})
                        except: pass
        return download_link

    #处理验证码                       
    def deal_split(self, code_handler, image):
        list_split_image = code_handler.main_deal_split(image)
        return list_split_image
开发者ID:happyin3,项目名称:captchaimgs,代码行数:69,代码来源:patentclass.py

示例5: raw_input

# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import reload [as 别名]
import datetime

data1 = raw_input("Write your Data(yyyy-mm-dd):")
data = time.strptime(data1, "%Y-%m-%d")
datimeStarp = int(time.mktime(data))

days = raw_input("Write your Days:")
number = raw_input("Write your number:")
url = "https://kyfw.12306.cn/otn/leftTicket/init"
days = int(days)
time.sleep(5)

b = Browser()

for i in range(days):
    b.visit(url)
    time.sleep(10)
    date1 = datetime.datetime.utcfromtimestamp(datimeStarp)
    dates = date1 + datetime.timedelta(days=i + 1)
    datas = dates.strftime("%Y-%m-%d")
    b.cookies.add({"_jc_save_fromDate": "%s" % (datas)})
    b.cookies.add({"_jc_save_fromStation": "%u5317%u4EAC%u897F%2CBXP"})
    b.cookies.add({"_jc_save_toStation": "%u8D35%u9633%u5317%2CKQW"})
    time.sleep(10)
    b.reload()
    b.find_by_id("query_ticket").click()
    time.sleep(10)
    b.find_by_text("预订").first.click()
    time.sleep(40)
    b.cookies.delete()
开发者ID:IceCee,项目名称:ticket_easy,代码行数:32,代码来源:ticket_test.py

示例6: Main

# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import reload [as 别名]
class Main(AutoBrowserAction):
	def __init__(self, username, password):
		self.user, self.pwd = username, password
		self.clear()

	def start(self):
		self.br = Browser()

	
	def clear(self):
		self.warn = False
		self.stoppage = 1

	def quit(self):
		self.clear()
		self.br.quit()

	def restart(self):
		self.quit()
		self.start()

	def config(self):
		self.url = "http://s.weibo.com/weibo/"
		#keyword
		self.url += self.key
		# period
		self.url += "&timescope=custom:"+self.st+':'+self.ed
		# original
		self.url += "&scope=ori"
		#init page
		self.url += "&page="

	def login(self):
		Lg = Login(self.br, self.user, self.pwd)
		Lg.login()
	
	def logout(self):
		Lg = Logout(self.br)
		Lg.logout()
	
	def html(self):
		return self.br.html

	def keyword(self, key):
		self.key = sina_urlencode(key)

	def period(self, st, ed):
		self.st, self.ed = st, ed

	def visit(self, num):
		href = self.url + str(num)
		self.br.visit(href)
		self.D = pq(self.br.html)
	#	self.delay()
			
	def flip(self):
		self.visit(self.stoppage)
		self.stoppage += 1
		
	def sumstat(self):
		text = self.D(".topcon_num > .W_textc")
		if not text:
			self.br.reload()
			self.D = pq(self.br.html)
			text = self.D(".topcon_num > .W_textc")
		text = text.html().split()
		stat = text[1].split(',')
		r = ""
		for item in stat:
			r += item

		return int(r)

	def getUsers(self):
		self.D = pq(self.br.html)
		aa = self.D(".content > p > em").siblings("a")
		userls = []
		for i in range(len(aa)):
			if aa.eq(i).attr("suda-data"):
				p = aa.eq(i).attr("suda-data").split(':')
				userls.append(p[1])
		
		return userls
			
	def captcha(self):
		self.D = pq(self.br.html)
		cap = self.D(".code_img")
		return len(cap) > 0

	def save(self):
		f = open("stoppage","w")
		f.write(self.stoppage)
		f.close()
	
	def load(self):
		f = open("stoppage","r")
		p = f.readline()
		self.stoppage = int(p)
		f.close()

#.........这里部分代码省略.........
开发者ID:Lhfcws,项目名称:ai_hw,代码行数:103,代码来源:bak.py

示例7: open

# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import reload [as 别名]
f = open("/Users/hoecheeyam/Desktop/Scrape/JourneyPlanner/result3.txt","w")

#create url by given address and click on show journey
# browser.visit("http://ptv.vic.gov.au/journey#jpsearch%5Baction%5D=search&jpsearch%5Bfrom%5D%5Btype%5D=any&jpsearch%5Bfrom%5D%5Btext%5D=95A+Burwood+Rd+(Hawthorn)&jpsearch%5Bfrom%5D%5Bcoords%5D%5Blat%5D=4326254.000000&jpsearch%5Bfrom%5D%5Bcoords%5D%5Blon%5D=4187827.000000&jpsearch%5Bfrom%5D%5BoriginType%5D=29&jpsearch%5Bto%5D%5Btype%5D=any&jpsearch%5Bto%5D%5Btext%5D=96+Page+St+(Albert+Park)&jpsearch%5Bto%5D%5Bcoords%5D%5Blat%5D=4320065.000000&jpsearch%5Bto%5D%5Bcoords%5D%5Blon%5D=4190889.000000&jpsearch%5Bto%5D%5BdestType%5D=29&jpsearch%5Bpreferences%5D%5BrouteType%5D=LEASTINTERCHANGE&jpsearch%5Bpreferences%5D%5BtrITDepMOTvalue%5D=10&jpsearch%5Bpreferences%5D%5BtrITDepMOT%5D=100&jpsearch%5Bpreferences%5D%5BchangeSpeed%5D=normal&jpsearch%5Bpreferences%5D%5Bundefined%5D=&jpsearch%5Bpreferences%5D%5BinclMOT_1%5D=on&jpsearch%5Bpreferences%5D%5BinclMOT_4%5D=on&jpsearch%5Bpreferences%5D%5BinclMOT_5%5D=on&jpsearch%5Bpreferences%5D%5BinclMOT_8%5D=on&jpsearch%5Bpreferences%5D%5BinclMOT_10%5D=on&jpsearch%5Bpreferences%5D%5BinclMOT_0%5D=on&jpsearch%5Bpreferences%5D%5BinclMOT_6%5D=on&jpsearch%5Bpreferences%5D%5BinclMOT_7%5D=on&jpsearch%5Bpreferences%5D%5BinclMOT_3%5D=on&jpsearch%5Bpreferences%5D%5BinclMOT_2%5D=on")
# browser.visit("http://ptv.vic.gov.au/journey#jpsearch%5Baction%5D=search&jpsearch%5Bfrom%5D%5Btype%5D=any&jpsearch%5Bfrom%5D%5Btext%5D=95A+Burwood+Rd+(Hawthorn)&jpsearch%5Bfrom%5D%5BoriginType%5D=29&jpsearch%5Bto%5D%5Btype%5D=any&jpsearch%5Bto%5D%5Btext%5D=96+Page+St+(Albert+Park)&jpsearch%5Bto%5D%5BdestType%5D=29&jpsearch%5Bpreferences%5D%5BrouteType%5D=LEASTINTERCHANGE&jpsearch%5Bpreferences%5D%5BtrITDepMOTvalue%5D=10&jpsearch%5Bpreferences%5D%5BtrITDepMOT%5D=100&jpsearch%5Bpreferences%5D%5BchangeSpeed%5D=normal&jpsearch%5Bpreferences%5D%5Bundefined%5D=&jpsearch%5Bpreferences%5D%5BinclMOT_1%5D=on&jpsearch%5Bpreferences%5D%5BinclMOT_4%5D=on&jpsearch%5Bpreferences%5D%5BinclMOT_5%5D=on&jpsearch%5Bpreferences%5D%5BinclMOT_8%5D=on&jpsearch%5Bpreferences%5D%5BinclMOT_10%5D=on&jpsearch%5Bpreferences%5D%5BinclMOT_0%5D=on&jpsearch%5Bpreferences%5D%5BinclMOT_6%5D=on&jpsearch%5Bpreferences%5D%5BinclMOT_7%5D=on&jpsearch%5Bpreferences%5D%5BinclMOT_3%5D=on&jpsearch%5Bpreferences%5D%5BinclMOT_2%5D=on")
# with open("/Users/hoecheeyam/Desktop/Scrape/JourneyPlanner/Address_as_list.txt","r") as urls:
	# addressl=urls.readlines()
c=0
for i in addressl:
	url=str(addressl[c])
	# page=requests.get(url)
	# browser.visit("http://ptv.vic.gov.au/journey#jpsearch%5Baction%5D=search&jpsearch%5Bfrom%5D%5Btype%5D=any&jpsearch%5Bfrom%5D%5Btext%5D=171+La+Trobe+St+(Melbourne+City)&jpsearch%5Bfrom%5D%5BoriginType%5D=29&jpsearch%5Bto%5D%5Btype%5D=any&jpsearch%5Bto%5D%5Btext%5D=995+Burke+Road+Camberwell&jpsearch%5Bto%5D%5BdestType%5D=29&jpsearch%5Bpreferences%5D%5BrouteType%5D=LEASTINTERCHANGE&jpsearch%5Bpreferences%5D%5BtrITDepMOTvalue%5D=10&jpsearch%5Bpreferences%5D%5BtrITDepMOT%5D=100&jpsearch%5Bpreferences%5D%5BchangeSpeed%5D=normal&jpsearch%5Bpreferences%5D%5Bundefined%5D=&jpsearch%5Bpreferences%5D%5BinclMOT_1%5D=on&jpsearch%5Bpreferences%5D%5BinclMOT_4%5D=on&jpsearch%5Bpreferences%5D%5BinclMOT_5%5D=on&jpsearch%5Bpreferences%5D%5BinclMOT_8%5D=on&jpsearch%5Bpreferences%5D%5BinclMOT_10%5D=on&jpsearch%5Bpreferences%5D%5BinclMOT_0%5D=on&jpsearch%5Bpreferences%5D%5BinclMOT_6%5D=on&jpsearch%5Bpreferences%5D%5BinclMOT_7%5D=on&jpsearch%5Bpreferences%5D%5BinclMOT_3%5D=on&jpsearch%5Bpreferences%5D%5BinclMOT_2%5D=on")
	browser.visit(url)
	print(c)
	print(url)
	browser.reload()

	if browser.is_element_present_by_tag("optgroup", wait_time=10)==True:
	# # 	print("has opt")
		time.sleep(2)
		browser.find_by_name("jpSubmit").first.click()
	else:
		print("does not have opt")
	if browser.is_element_present_by_css("div.timespan", wait_time=10)==True:
		time.sleep(2)
		print("loaded1")
		Origin=browser.find_by_id("JourneyPlanResults").first.find_by_tag("td")[0].text
		Destination=browser.find_by_id("JourneyPlanResults").first.find_by_tag("td")[1].text
		Depart=browser.find_by_id("JourneyPlanResults").first.find_by_tag("td")[2].text
		Timespan=browser.find_by_css("div.timespan").first.text
	else:
开发者ID:yamhochi,项目名称:Scrape_journeyplanner,代码行数:33,代码来源:PTV_scrape_splinter5-worked.py

示例8: Main

# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import reload [as 别名]
class Main(AutoBrowserAction):
    def __init__(self, username, password):
        self.user, self.pwd = username, password
        self.clear()
        # Start a browser

    def start(self):
        self.br = Browser()

        # Clear the stoppage

    def clear(self):
        self.warn = False
        self.stoppage = 1

        # Quit the browser

    def quit(self):
        self.clear()
        self.br.quit()

        # Restart a browser

    def restart(self):
        self.quit()
        self.start()

        # Final config to generate the url

    def config(self):
        self.url = "http://s.weibo.com/weibo/"
        # keyword
        self.url += self.key
        # period
        self.url += "&timescope=custom:" + self.st + ":" + self.ed
        # original
        self.url += "&scope=ori"
        # init page
        self.url += "&page="

        # Login

    def login(self):
        Lg = Login(self.br, self.user, self.pwd)
        Lg.login()
        time.sleep(2)

        # Logout

    def logout(self):
        Lg = Logout(self.br)
        Lg.logout()

        # Return the html source for pyquery

    def html(self):
        return self.br.html

        # Set keyword

    def keyword(self, key):
        self.key = sina_urlencode(key)
        self.orikey = key

        # Get keyword

    def getKeyword(self):
        return self.orikey

        # Set time period

    def period(self, st, ed):
        self.st, self.ed = st, ed

        # Visit the page on a given number

    def visit(self, num):
        href = self.url + str(num)
        self.br.visit(href)
        self.D = pq(self.br.html)
        # 	self.delay()

        # Flip to the next page

    def flip(self):
        self.visit(self.stoppage)
        self.stoppage += 1

        # Get the total statistics of the search result.

    def sumstat(self):
        text = self.D(".topcon_num > .W_textc")
        if not text:
            self.br.reload()
            self.D = pq(self.br.html)
            text = self.D(".topcon_num > .W_textc")
        text = text.html().split()
        stat = text[1].split(",")
        r = ""
        for item in stat:
#.........这里部分代码省略.........
开发者ID:Lhfcws,项目名称:ai_hw,代码行数:103,代码来源:uglysina.py

示例9: getLessons

# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import reload [as 别名]
def getLessons(email, password, fullCourseName):
	#--------------------------------
	# getLessons(email, password, fullCourseName)
	#
	
	firstBrowser = 'phantomjs'
	secondBrowser = 'chrome'

	try:
		browser = Browser(firstBrowser)
		
	except:
		
		print "\nYou have not properly installed or configured PhantomJS!\nYou will see an automated browser popping up and crawling,\nwhich you will not see if you have properly installed or configured PhantomJS.\nDo not close that automated browser...\n"
		
		try:
			browser = Browser(secondBrowser)
			print "Using Chrome Web Driver...\n"
			
		except:
			browser = Browser()
			print "Using Firefox Web Driver...\n"

	arrLessonURL = []
	arrLessonTitle = []
	
	browser.driver.maximize_window()

	browser.visit('https://www.coursera.org/?authMode=login')

	browser.fill('email', email)
	browser.fill('password', password)
	print "Logging in"
	button = browser.find_by_text('Log In')[-1]
	button.click()
	print "Welcome to Coursera"

	while(fullCourseName not in browser.html):
		
		sys.stdout.write('waiting for "' + fullCourseName[:48] + '" to appear...\r')
		#sys.stdout.flush()
		
	courses = browser.find_by_css('div.cozy.card-rich-interaction.c-dashboard-membership')
	sys.stdout.write('\n'+str(len(courses)) + ' lectures available\r\n\n')
	
	i = 0
	
	try:
	
		while(i < len(courses)):
		
			try:
			
				while(fullCourseName not in courses[i].text.encode('utf-8')):
				
					pass
					i += 1
					
				courses = browser.find_by_css('div.cozy.card-rich-interaction.c-dashboard-membership')[i].find_by_tag('a')[-1].click()
				
			except: # on StaleElementReferenceException
			
				browser.reload()
				
				while(fullCourseName not in browser.html):
			
					sys.stdout.write('waiting for "' + fullCourseName + '" to appear...\r')
					#sys.stdout.flush()
					
				courses = browser.find_by_css('div.cozy.card-rich-interaction.c-dashboard-membership')[i].find_by_tag('a')[-1].click()
				
	except:
	
		pass
		
	welcomepage = browser.url
	
	while(fullCourseName not in browser.html):
			
		sys.stdout.write('waiting for "' + fullCourseName + '" to appear...\r')
		sys.stdout.flush()
		
	weeks = browser.find_by_css('div.rc-WeekRow')
		
	sys.stdout.write('\n'+str(len(weeks)) + " weeks lecture\r\n")

	#sys.stdout.flush()
	
	for k in range(0, len(weeks)):
	
		url = welcomepage.replace('welcome','week/'+str(k+1))
		
		print "----------------- WEEK " + str(k+1) + "-----------------\n"
	
		browser.visit(url)
		
		time.sleep(5)
		
		selector = '#rendered-content > div > div.rc-OndemandApp > div.rc-HomeLayout > div.rc-HomeLayoutBody.horizontal-box > div.od-contents > main > div.rc-PeriodPage > div.horizontal-box.wrap > div > section > div.rc-LessonList.card-rich-interaction.od-section > div > div'
		
#.........这里部分代码省略.........
开发者ID:Ashrafn,项目名称:www-coursera-downloader,代码行数:103,代码来源:www-coursera-downloader.py

示例10: SinaComment

# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import reload [as 别名]
class SinaComment(object):
    """

    """
    vdisplay = None

    weibo_url = "http://weibo.com/%s/profile"

    def __init__(self, headless=False, driver_name=u'firefox'):
        if headless:
            self.vdisplay = Xvfb()
            self.vdisplay.start()

        if driver_name == u'firefox':
            profile_preferences = {u'permissions.default.stylesheet': 2,
                               u'permissions.default.image': 2,
                               u'dom.ipc.plugins.enabled.libflashplayer.so':
                                      u'false'
            }
            #self.browser = Browser(driver_name, profile_preferences=profile_preferences)
            self.browser = Browser(driver_name)
        else:
            self.browser = Browser(driver_name)

    def __del__ (self):
        self.browser.quit()
        if self.vdisplay is not None:
            self.vdisplay.stop()

    def login(self, user_name=u"**", user_password=u"**"):
        self.browser.visit(u"http://www.weibo.com/login.php")
        if not self.browser.status_code.is_success():
            return False

        self.browser.find_by_xpath('//div[@class="W_login_form"]/div/div/input[@name="username"]').\
            first.fill(user_name)

        password = self.browser.find_by_xpath('//div[@class="W_login_form"]/div/div/input[@name="password"]').first
        password.click()
        password.fill(user_password)

        submit = self.browser.find_by_xpath('//div[@class="W_login_form"]/div/a[@action-type="btn_submit"]').first

        for i in xrange(0, 3):
            submit.click()
            time.sleep(5)
            verify_code =  self.browser.find_by_name("verifycode")
            if len(verify_code) == 0:
                break

            if verify_code.visible:
                verify_code_img  = self.browser.find_by_xpath('//img[@node-type="verifycode_image"]').first
                now_time = int(time.time())
                screenshot_name = self.browser.screenshot("%s_%s" % (user_name,  now_time))
                print u"需要验证码", screenshot_name
                verify_code_text = raw_input(u"输入验证码:")
                verify_code.fill(verify_code_text)
                continue

        if self.browser.url.find(u"home") >= 0:
            return True

        return False


    def reload(self):
        """
        Revisits the current URL
        :return:
        """
        self.browser.reload()

    def comment(self, to_uid, content):
        self.browser.visit(self.weibo_url % to_uid)

        #self.browser.visit(self.weibo_url % to_uid)
        if not self.browser.status_code.is_success():
            return False


        comments = self.browser.find_by_xpath('//span[@node-type="comment_btn_text"]')

        if comments.is_empty():
            print u"用户没有微博"
            return True

        wait_time = 1
        try_count = 0
        for comment in comments:
            if try_count >= 3:
                break
            try:
                comment.mouse_over()
                comment.click()
            except Exception, e:
                print u"点击评论按钮失败"
                print e.message
                continue

            try:
#.........这里部分代码省略.........
开发者ID:oudb,项目名称:weibo_automation,代码行数:103,代码来源:sina_comment2.py


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