本文整理汇总了Python中splinter.Browser.click方法的典型用法代码示例。如果您正苦于以下问题:Python Browser.click方法的具体用法?Python Browser.click怎么用?Python Browser.click使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类splinter.Browser
的用法示例。
在下文中一共展示了Browser.click方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: WOS
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import click [as 别名]
class WOS(object):
""" A little module for exporting Web of Science search results into a txt file """
def __init__(self, **kwargs):
"""
Construct a new WOS object given a query, an export file (without ".isi")
a username and a password for authentication
eg :
WOS(query="TS=(epigenetic*", outfile="epigenetic", user="myuser", passw="mypassw")
"""
#defining params
self.query = kwargs["query"]
self.outfile = kwargs["outfile"]+".isi"
try:
self.user=kwargs["user"]
self.passw = kwargs["passw"]
except:
self.user, self.passw = private
try:
self.browser_app = kwargs["browser"]
except:
self.browser_app = "splinter"
#using MLV Auth Server
self.auth_url = "https://apps-webofknowledge-com.fennec.u-pem.fr/WOS_AdvancedSearch_input.do?&product=WOS&search_mode=AdvancedSearch"
#Firefox Browser
if self.browser_app == "splinter":
self.browser = Browser("firefox")
else:
self.browser = spynner.Browser()
self.browser.set_html_parser(PyQuery)
#self.browser = Browser('zope.testbrowser', ignore_robots=True)
#Session params
self.session = None
self.cookies = {}
if self.query is None:
sys.exit("No query provided")
if "=" not in self.query:
#or "(" not in self.query
logging.warning("Syntax is not WOS compliant. Check Query Syntax")
sys.exit("Query Syntax Error")
if self.outfile is None:
self.outfile = str(re.sub(re.compile("[^0-9a-zA-Z]+"),"_", self.query))+".isi"
if self.user is None and self.passw is None:
self.user, self.passw = private
logging.info("WOS search parameters:\n\t- query: %s\n\t- outfile: %s\n\t- user: %s\n\t- password: %s" %(self.query, self.outfile, self.user, self.passw))
self.run()
def auth(self):
""" authentification throught auth_url to get the session id SID """
#Loading url
if self.browser_app == "splinter":
self.browser.visit(self.auth_url)
self.browser.fill('username', self.user)
self.browser.fill('password', self.passw)
self.browser.find_by_name("submit").click()
self.cookies = self.browser.cookies.all()
else:
self.browser = self.browser.load(self.url)
self.browser.wk_fill('input[id="username"]',self.username)
self.browser.wk_fill('input[id="password"]',self.password)
self.browser.click('input[name="submit"]')
#~ if self.debug is True:
#~ print "Proceding to authentication..."
if "SessionError" in self.session.url :
self.session.click('a[target="_top"]')
self.session.wait(random.uniform(1, 3))
p_url = urlparse(self.browser.url)
if p_url.netloc == "apps-webofknowledge-com.fennec.u-pem.fr":
#print p_url.scheme+"//"+p_url.netloc+"/WOS_GeneralSearch_input.do?"+p_url.query
match = re.match(re.compile("product\=(?P<product>.*?)\&search_mode\=(?P<search_mode>.*?)\&SID=(?P<ssid>.*?)\&preferencesSaved\="), str(p_url.query))
if match is not None:
self.product = match.group("product")
self.ssid = match.group("ssid")
self.search_mode = re.sub("General", "Advanced", match.group("search_mode"))
#self.search_mode = match.group("search_mode")
self.search_url = "%s://%s/%s_%s_input.do?product=%s&search_mode=%s&SID=%s" %(p_url.scheme, p_url.netloc, self.product,self.search_mode,self.product,self.search_mode,self.ssid)
if self.browser_app == "splinter":
self.browser.visit(self.search_url)
print self.browser.url
else:
self.browser.load(self.search_url)
print self.browser.url
return self
else:
return sys.exit("Session Id could not be found")
else:
logging.info("No redirection to service")
return sys.exit("Invalid credentials")
#.........这里部分代码省略.........