本文整理汇总了Python中splinter.Browser.set_page_load_timeout方法的典型用法代码示例。如果您正苦于以下问题:Python Browser.set_page_load_timeout方法的具体用法?Python Browser.set_page_load_timeout怎么用?Python Browser.set_page_load_timeout使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类splinter.Browser
的用法示例。
在下文中一共展示了Browser.set_page_load_timeout方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: GeneralGetter
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import set_page_load_timeout [as 别名]
class GeneralGetter(threading.Thread):
finished = False
repository = None
repo = None
github_client = None
display = None
browser = None
splinter__browser = None
def __init__(self, threadId, repository, repo, github_client):
scream.say('Initiating GeneralGetter, running __init__ procedure.')
self.threadId = threadId
threading.Thread.__init__(self)
self.daemon = True
self.finished = False
self.repository = repository
self.repo = repo
self.github_client = github_client
def run(self):
global use_splinter
scream.cout('GeneralGetter starts work...')
self.finished = False
# it is quite reasonable to initiate a display driver for selenium
# per one getter, threads work on jobs linear so its the max partition of driver
# we can allow, multiple threads working on one virtual display - its without sense
if use_splinter:
self.initiate_splinter()
else:
self.initiate_selenium()
# now its ok to start retrieving data.. allonsy !
self.get_data()
def initiate_splinter(self):
scream.say('Initiating splinter...')
self.splinter__browser = Browser(splinter__driver, wait_time=timeout)
scream.say('Splinter ready for action')
def initiate_selenium(self):
scream.say('Initiating selenium...')
self.display = Display(visible=0, size=(800, 600))
self.display.start()
self.browser = webdriver.Firefox()
self.browser.implicitly_wait(15)
scream.say('Selenium ready for action')
def analyze_with_splinter(self, repository):
result = dict()
scream.say('Starting webinterpret for ' + repository.html_url + '..')
assert repository is not None
url = repository.html_url
assert url is not None
while True:
try:
try:
self.splinter__browser.set_page_load_timeout(15)
except:
scream.say('')
try:
self.splinter__browser.ensure_success_response()
except:
scream.say('')
self.splinter__browser.visit(url)
scream.say('Data from web retrieved')
if splinter__driver == 'firefox':
doc = html.document_fromstring(unicode(self.splinter__browser.page_source))
elif splinter__driver == 'chrome':
doc = html.document_fromstring(unicode(self.splinter__browser.html))
elif splinter__driver == 'phantomjs':
doc = html.document_fromstring(unicode(self.splinter__browser.html))
elif splinter__driver == 'zope.testbrowser':
#splinter__browser.set_handle_robots(False)
doc = html.document_fromstring(unicode(self.splinter__browser.html.decode('utf-8')))
else:
assert False # rest of browser not yet supported..
scream.log_debug(str(url), True)
scream.say('Continue to work on ' + url)
scream.say('Page source sent further')
#splinter__browser.screenshot(name=repository.key, suffix='.png')
scream.say('Verify if 404 (repo deleted) otherwise keep on going')
parallax = doc.xpath('//div[@id="parallax_illustration"]')
if (len(parallax) > 0):
scream.say('Verified that 404 (repo deleted)')
result['status'] = '404'
break
scream.say('Verified that not 404')
scream.say('Verify if repo empty otherwise keep on going')
repo_empty = doc.xpath('//div[@class="blankslate has-fixed-width"]')
if (len(repo_empty) > 0):
#.........这里部分代码省略.........