本文整理汇总了Python中splinter.Browser.find_by_id方法的典型用法代码示例。如果您正苦于以下问题:Python Browser.find_by_id方法的具体用法?Python Browser.find_by_id怎么用?Python Browser.find_by_id使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类splinter.Browser
的用法示例。
在下文中一共展示了Browser.find_by_id方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: enable
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import find_by_id [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()
示例2: checkin
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import find_by_id [as 别名]
def checkin(confirmation, first, last, email, run_time):
"""Check in to a flight.
Arguments:
confirmation -- your confirmation number
first -- your first name
last -- your last name
email -- email address to send confirmation
run_time -- the time you need to check in
"""
browser = Browser('zope.testbrowser', ignore_robots=True)
browser.visit('https://www.southwest.com/flight/retrieveCheckinDoc.html')
browser.fill('confirmationNumber', confirmation)
browser.fill('firstName', first)
browser.fill('lastName', last)
delta = run_time - datetime.now()
time.sleep(delta.total_seconds())
submit = browser.find_by_name('submitButton')
submit.click()
if browser.find_by_id('errors_props_wrapper') != []:
browser.quit()
raise RuntimeError("Info is incorrect or you checked in too early")
check_in = browser.find_by_name('printDocuments')
check_in.click()
email = browser.find_by_id('optionEmail')
email.click()
browser.fill('emailAddress', email)
cont = browser.find_by_name('book_now')
cont.click()
browser.quit()
示例3: court_booking_login
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import find_by_id [as 别名]
def court_booking_login(user, passwd):
"""
Create a new browser instance and login to the website
"""
browser = Browser()
browser.visit("https://courtbooking.bayclubs.com")
if browser.status_code != 200:
logging.error("court_booking_login: Unable to open court booking "
"website")
browser.quit()
return None
input_email = browser.find_by_id("InputEmail1")
input_email.fill(user)
input_passwd = browser.find_by_id("InputPassword1")
input_passwd.fill(passwd)
login_button = browser.find_by_id("loginButton")
login_button.click()
if browser.status_code != 200:
logging.error("court_booking_login: Error unable to login into court "
"booking website")
browser.quit()
return None
if browser.is_element_present_by_id("loginresult", wait_time=5):
logging.error("court_booking_login: Incorrect login credentials")
browser.quit()
return None
return browser
示例4: LoginTestCase
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import find_by_id [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")
示例5: open_door
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import find_by_id [as 别名]
def open_door():
start_time = time.time()
browser = Browser('phantomjs')
browser.visit("https://www.chalmersstudentbostader.se/login")
browser.fill('log', options.username)
browser.fill('pwd', options.password)
while browser.find_by_text('Logga in') == []:
sleep(0.05)
btn = browser.find_by_text('Logga in')[1]
btn.click()
while True:
while browser.find_by_text('Öppna porten') == []:
sleep(0.05)
port = browser.find_by_text('Öppna porten').first
if not "{aptusUrl}" in port['href']:
break
sleep(0.1)
browser.visit(port['href'])
door_ids = parse_door_ids(options.door_ids)
for door_id in door_ids:
while browser.find_by_id(door_id) == []:
sleep(0.1)
print("Opening door with id: " + door_id)
btn = browser.find_by_id(door_id).first
btn.click()
print(time.time()-start_time)
示例6: google_login
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import find_by_id [as 别名]
def google_login(user_name, password, code):
browser = Browser('firefox')
url = 'https://accounts.google.com/ServiceLogin'
browser.visit(url)
browser.find_by_id('Email').fill(user_name)
browser.find_by_id('next').click()
browser.find_by_id('Passwd').fill(password)
browser.find_by_id('signIn').click()
url1 = 'https://play.google.com/store?hl=jp'
browser.visit(url1)
browser.find_by_css('button.id-no-menu-change').click()
time.sleep(1)
browser.find_by_css('input.redeem-input-text-box').fill(code)
browser.find_by_id('id-redeem-ok-button').click()
time.sleep(2)
result = browser.find_by_css('div.redeem-invalid-code-msg').value
browser.quit()
return result
示例7: UserUtils
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import find_by_id [as 别名]
class UserUtils(object):
def __init__(self):
self.config = config.read_config()
self.account = self.config['account']
self.idp_server = self.config['nodes']['idp_node']
# Abort test if esgf-web-fe is not reachable
r = requests.get("https://{0}/esgf-web-fe".format(self.idp_server), verify=False, timeout=1)
assert r.status_code == 200
self.browser = Browser('firefox')
# Mapping user data to fit to web-fe user creation form
self.elements = {'firstName' : self.account['firstname'],
'lastName' : self.account['lastname'],
'email' : self.account['email'],
'userName' : self.account['username'],
'password1' : self.account['password'],
'password2' : self.account['password']}
def check_user_exists(self):
URL = "https://{0}/esgf-web-fe/login".format(self.idp_server)
OpenID = "https://{0}/esgf-idp/openid/{1}".format(self.idp_server, self.account['username'])
# Try to log in
self.browser.visit(URL)
self.browser.find_by_id('openid_identifier').fill(OpenID)
self.browser.find_by_value('Login').click()
# User does not exist if unable to resolve OpenID
if(self.browser.is_text_present("Error: unable to resolve OpenID identifier")):
self.user_exists = False
else:
self.user_exists = True
def create_user(self):
URL = "https://{0}/esgf-web-fe/createAccount".format(self.idp_server)
self.browser.visit(URL)
# Filling the form
for element_name in self.elements:
self.browser.find_by_name(element_name).fill(self.elements[element_name])
self.browser.find_by_value('Submit').click()
# Parsing response
self.response = []
if (self.browser.is_text_present("SUCCESS") == True):
self.response.append("SUCCESS")
else:
self.response.append("FAILURE")
selection = self.browser.find_by_tag('span')
for sel in selection:
if sel.has_class('myerror'):
self.response.append(sel.value)
def exit_browser(self):
self.browser.quit()
示例8: browse
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import find_by_id [as 别名]
def browse(url):
browser = Browser("phantomjs", service_args=['--ignore-ssl-errors=true', '--ssl-protocol=any'])
browser.visit(url)
browser.find_by_id('RadioW03').first.click()
browser.find_by_id('RadioS03').first.click()
browser.find_by_text('\n Search\n ').first.click()
return browser
示例9: __scrape
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import find_by_id [as 别名]
def __scrape(self, landing_page):
browser = Browser('chrome', executable_path='C:\Python27\Lib\site-packages\chromedriver_win32\chromedriver.exe', service_args=PROXIES)
# browser = Browser('phantomjs', service_args=PROXIES, user_agent='Mozilla/5.0 (Windows NT 6.1; rv:21.0) Gecko/20130401 Firefox/21.0')
with browser:
template1 = True
browser.visit(landing_page)
time.sleep(2)
nav = [x for x in browser.find_by_css('a.nav') if (x.text == 'Jobs by Location' or x.text == 'By Location')]
if len(nav) > 0:
nav[0].click()
else:
template1 = False
link = browser.url
state_index = 1
city_index = 1
while True:
browser.visit(link)
if not template1:
nav = browser.find_by_css('#tabHeader')
nav = nav.find_by_css('a')
nav[1].click()
states = browser.find_by_name('search.stateList.value')
state_list = states.find_by_tag('option')
print state_list[state_index].text
state_list[state_index].click()
if state_list[state_index].text != 'choose one...':
element = 'cityList_' + state_list[state_index].text
cities = browser.find_by_id(element)
city_list = cities.find_by_tag('option')
city_list[city_index].click()
if city_list[city_index].text != 'choose one...':
print city_list[city_index].text, state_list[state_index].text
browser.find_by_id('cityStateSearch').click()
links = None
try:
links = browser.find_by_css('a.withBubble')
except:
pass
if len(links) > 0:
for i in links:
b = Browser('chrome', executable_path='C:\Python27\Lib\site-packages\chromedriver_win32\chromedriver.exe', service_args=PROXIES)
# b = Browser('phantomjs', service_args=PROXIES, user_agent='Mozilla/5.0 (Windows NT 6.1; rv:21.0) Gecko/20130401 Firefox/21.0')
with b:
b.visit(i['href'])
self.__navigate_pages(b)
else:
self.__navigate_pages(browser)
city_index += 1
if city_index == len(city_list):
city_index = 0
state_index += 1
if state_index == len(state_list):
break
else:
state_index += 1
示例10: get_claim_code_from_server
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import find_by_id [as 别名]
def get_claim_code_from_server():
browser = Browser('phantomjs', service_args=['--ignore-ssl-errors=true'])
browser.visit(ROOT_ADDRESS + "/merchant-login")
browser.fill_form({"email": USER_NAME, "password": PASSWORD})
browser.find_by_id("loginButton")[0].click()
time.sleep(5)
browser.visit(ROOT_ADDRESS + "/api-tokens")
browser.find_by_css(".token-access-new-button").find_by_css(".btn").find_by_css(".icon-plus")[0].click()
browser.find_by_id("token-new-form").find_by_css(".btn")[0].click()
return browser.find_by_css(".token-claimcode")[0].html
示例11: TrackListScraper
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import find_by_id [as 别名]
class TrackListScraper(object):
def __init__(self, artists, year):
self.browser = Browser('chrome')
self.artists = artists
self.year = year
self.browser.visit('http://1001tracklists.com')
def execute_full_scrape(self):
artist_tracklists = {}
for artist in self.artists:
artist_tracklists[artist] = self.scrape_per_artist(artist)
self.browser.quit()
return artist_tracklists
def scrape_per_artist(self, artist):
"""Execute the same scrape but instead using the python splinter library
"""
self.browser.fill('main_search', artist + ' edc ' + self.year)
self.browser.find_by_id('btn_search').first.click()
try:
self.browser.click_link_by_partial_text('2014-06-')
track_strings = self.get_track_list_for_set(artist)
return track_strings
except ElementDoesNotExist:
pass
def get_track_list_for_set(self, artist):
soup = BeautifulSoup(self.browser.html)
track_values = soup.find_all('div', class_='trackValue')
track_strings = []
file = open('tracklist-' + artist + '-edc' + self.year, 'w')
for track in track_values:
if track.a:
track_string = track.a.string
file.write(track_string)
# track details in format [artist, trackname]
track_details = self.parse_track_string(track_string)
track_strings.append(track_details)
file.close()
return track_strings
def parse_track_string(self, track_string):
track_info = track_string.strip().split('-')
for i in range(len(track_info)):
track_info[i] = track_info[i].strip()
return track_info
示例12: twitter_login
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import find_by_id [as 别名]
def twitter_login(username, password):
"""
Log in to Twitter and returns browser object
"""
browser = Browser()
# Login
browser.visit("https://www.twitter.com/")
browser.find_by_id("signin-email").first.value = username
browser.find_by_id("signin-password").first.value = password
browser.find_by_css(".js-submit").first.click()
return browser
示例13: test_0_http_browser_download
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import find_by_id [as 别名]
def test_0_http_browser_download(self):
path = self.get_endpoint_path('HTTPServer')
url = "http://{0}/thredds/fileServer/{1}".format(self.data_node, path)
OpenID = "https://{0}/esgf-idp/openid/{1}".format(self.idp_node, self.username)
pf={'browser.helperApps.neverAsk.saveToDisk':'application/x-netcdf, application/netcdf'}
browser = Browser('firefox', profile_preferences=pf)
browser.visit(url)
if browser.status_code.is_success() is True:
browser.quit()
return
browser.find_by_id('openid_identifier').fill(OpenID)
browser.find_by_value('GO').click()
browser.find_by_id('password').fill(self.password)
browser.find_by_value('SUBMIT').click()
# To Do only if user is not enrolled in a group
if browser.is_text_present('Group Registration Request'):
# Chosing First Registration Group
browser.find_by_id('button_1').click()
# Accepting License Agreement
browser.execute_script('myForm.submit();')
# Clicking on 'Download data button'
browser.find_by_id('goButton').click()
browser.quit()
示例14: passwd
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import find_by_id [as 别名]
def passwd(self):
if len(self.login) < 1 or len(self.panic) < 1 or len(self.user) < 1:
return false
b = Browser()
b.driver.set_window_size(900,900)
try:
b.visit("https://accounts.google.com/ServiceLogin?service=accountsettings")
b.fill('Email',self.user)
btn = b.find_by_id("next")
btn.click()
b.fill('Passwd',self.login)
btn = poll_for("#signIn", b)
btn.click()
b.visit("https://myaccount.google.com/security#signin")
btn = b.find_by_css(".vkq40d").first
if not btn == None:
print "not none"
btn.click()
poll_fill('Email',self.user, b)
btn = b.find_by_id("next")
btn.click()
poll_fill('Passwd',self.login, b)
btn = b.find_by_id("signIn")
btn.click()
time.sleep(INV)
btn = poll_for(".TCRTM", b)
btn.click()
poll_fill('Passwd',self.login, b)
btn = b.find_by_id("signIn")
btn.click()
p = poll_for(".Hj", b)
p.fill(self.panic)
p = b.find_by_css(".Hj")[1]
p.fill(self.panic)
btn = b.find_by_css(".Ya")
btn.click()
time.sleep(INV*5)
b.quit()
except:
traceback.print_exc(file=sys.stdout)
raw_input("Something went wrong...")
b.quit()
if self.attempts < self.max_attempts:
self.attempts += 1
self.passwd()
示例15: check_in
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import find_by_id [as 别名]
def check_in(self, conf_number, first_name, last_name):
browser = Browser('phantomjs')
browser.visit('https://www.southwest.com/')
checkin_form_button = browser.find_by_id('booking-form--check-in-tab')[0]
checkin_form_button.click()
browser.fill('confirmationNumber', conf_number)
browser.fill('firstName', first_name)
browser.fill('lastName', last_name)
checkin_button = browser.find_by_id('jb-button-check-in')[0]
checkin_button.click()
submit_button = browser.find_by_id('submitButton')[0]
submit_button.click()