本文整理汇总了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()
示例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()
示例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()
#.........这里部分代码省略.........
示例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
示例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()
示例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 += "×cope=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()
#.........这里部分代码省略.........
示例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:
示例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 += "×cope=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:
#.........这里部分代码省略.........
示例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'
#.........这里部分代码省略.........
示例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:
#.........这里部分代码省略.........