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


Python WebDriver.find_element_by_id方法代码示例

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


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

示例1: FunctionalSearchTest

# 需要导入模块: from selenium.webdriver.firefox.webdriver import WebDriver [as 别名]
# 或者: from selenium.webdriver.firefox.webdriver.WebDriver import find_element_by_id [as 别名]
class FunctionalSearchTest(LiveServerTestCase):
    def use_xvfb(self):
        from pyvirtualdisplay import Display

        self.display = Display("xvfb", visible=1, size=(1280, 1024))
        self.display.start()
        self.driver = WebDriver()

    def setUp(self):

        try:
            self.driver = WebDriver()
            ui_is_not_available = False
        except WebDriverException:
            ui_is_not_available = True

        if settings.TEST_HEADLESS or ui_is_not_available:
            self.use_xvfb()

        self.driver.implicitly_wait(10)
        super(FunctionalSearchTest, self).setUp()

    def tearDown(self):
        self.driver.quit()
        if hasattr(self, "display"):
            self.display.stop()

        super(FunctionalSearchTest, self).tearDown()

    def test_simple_homepage_address_search_redirect(self):
        self.driver.get(self.live_server_url)
        input = self.driver.find_element_by_id("vc-search-input")
        input.send_keys("foobar\r")
        summary = self.driver.find_element_by_id("result-description")
        self.assertEqual(summary.text, 'No results for "foobar"')
开发者ID:steventlamb,项目名称:vegphilly.com,代码行数:37,代码来源:integration.py

示例2: __init__

# 需要导入模块: from selenium.webdriver.firefox.webdriver import WebDriver [as 别名]
# 或者: from selenium.webdriver.firefox.webdriver.WebDriver import find_element_by_id [as 别名]
class Base:
    @classmethod
    def __init__(self, p_live_server_url):
        self.live_server_url = p_live_server_url
        self.driver = WebDriver()

    @classmethod
    def pause(self, p_seconds):
        try:
            WebDriverWait(self.driver, p_seconds).until(EC.title_is('pause'))
        except:
            pass

    @classmethod
    def grid_cell_doubleclick(self, p_element):
        ActionChains(self.driver).double_click(p_element).perform()

    @classmethod
    def grid_cell_input(self, p_element, p_text):
        self.grid_cell_doubleclick(p_element)
        for k in range(0, len(p_element.text)):
            p_element.send_keys(Keys.BACKSPACE)
        p_element.send_keys(p_text)

    @classmethod
    def action_login(self, p_username, p_password, p_expectsuccess=True):
        self.driver.get('{0}{1}'.format(self.live_server_url, '/login/'))
        WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.TAG_NAME, 'body')))
        username_input = self.driver.find_element_by_id('txt_user')
        username_input.send_keys(p_username)
        password_input = self.driver.find_element_by_id('txt_pwd')
        password_input.send_keys(p_password)
        self.driver.find_element_by_xpath("//button[. = 'Sign in']").click()
        if p_expectsuccess:
            try:
                WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.CLASS_NAME, 'header')))
            except:
                WebDriverWait(self.driver, 10).until(EC.visibility_of_element_located((By.CLASS_NAME, 'div_alert_text')))
        else:
            try:
                WebDriverWait(self.driver, 10).until(EC.visibility_of_element_located((By.CLASS_NAME, 'div_alert_text')))
            except:
                WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.CLASS_NAME, 'header')))

    @classmethod
    def action_create_user(self, p_username, p_password, p_superuser):
        self.driver.get('{0}{1}'.format(self.live_server_url, '/users/'))
        WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.TAG_NAME, 'body')))
        assert 'OmniDB' in self.driver.title
        self.driver.find_element_by_xpath("//button[. = 'New User']").click()
        username_cell = self.driver.find_element_by_xpath("//tbody/tr[last()]/td[1]")
        self.grid_cell_input(username_cell, p_username)
        password_cell = self.driver.find_element_by_xpath("//tbody/tr[last()]/td[2]")
        self.grid_cell_input(password_cell, p_password)
        if p_superuser:
            superuser_cell = self.driver.find_element_by_xpath("//tbody/tr[last()]/td[3]")
            self.grid_cell_doubleclick(superuser_cell)
        self.driver.find_element_by_tag_name('body').click()
        self.driver.find_element_by_xpath("//button[. = 'Save Data']").click()
开发者ID:OmniDB,项目名称:OmniDB,代码行数:61,代码来源:test_selenium.py

示例3: HomeTestCase

# 需要导入模块: from selenium.webdriver.firefox.webdriver import WebDriver [as 别名]
# 或者: from selenium.webdriver.firefox.webdriver.WebDriver import find_element_by_id [as 别名]
class HomeTestCase(LiveServerTestCase):
    def setUp(self):
        self.browser = WebDriver()
        self.browser.implicitly_wait(3)

    def test_home(self):
        self.browser.get('{0}{1}'.format(self.live_server_url,reverse('index')))
        body = self.browser.find_element_by_tag_name('body')
        self.assertIn('username', body.text)
        user = ModelTestFactory.getUser(password='test')
        username_input = self.browser.find_element_by_name("username")
        username_input.send_keys(user.username)
        password_input = self.browser.find_element_by_name("password")
        password_input.send_keys('test')
        self.browser.find_element_by_id('loginBtn').click()
开发者ID:c6j6g7g7,项目名称:maigfrga-template,代码行数:17,代码来源:seltest.py

示例4: work

# 需要导入模块: from selenium.webdriver.firefox.webdriver import WebDriver [as 别名]
# 或者: from selenium.webdriver.firefox.webdriver.WebDriver import find_element_by_id [as 别名]
def work(pid):
    print('Starting %s' % str(pid))
    wd = WebDriver()
    wd.set_window_size(1280, 1000)
    wd.implicitly_wait(15)

    try:
        wd.get("http://trumpdonald.org/")

        while True:
            wd.find_element_by_id("can").click()
    finally:
        raise Exception("Test exited. pid=%s" % str(pid))

    wd.quit()
    return None
开发者ID:PHironaka,项目名称:trumpdonald-bot,代码行数:18,代码来源:trump.py

示例5: test_overwrite

# 需要导入模块: from selenium.webdriver.firefox.webdriver import WebDriver [as 别名]
# 或者: from selenium.webdriver.firefox.webdriver.WebDriver import find_element_by_id [as 别名]
    def test_overwrite(self):
        driver2 = WebDriver()
        self.selenium.get('%s%s' % (self.live_server_url, '/apka/1/'))
        self.selenium.implicitly_wait(100)
        edit_button1 = self.selenium.find_element_by_id('editButton1')
        save_button1 = self.selenium.find_element_by_id('submitButton1')
        edit_button1.click()

        driver2.get('%s%s' % (self.live_server_url, '/apka/1/'))
        driver2.implicitly_wait(100)
        edit_button2 = driver2.find_element_by_id('editButton1')
        save_button2 = driver2.find_element_by_id('submitButton1')
        edit_button2.click()
        driver2.implicitly_wait(100)
        inputok = driver2.find_element_by_name('ok')
        inputok.clear()
        inputok.send_keys('0')
        inputupr = driver2.find_element_by_name('upr')
        inputupr.clear()
        inputupr.send_keys('1')
        save_button2.click()
        alert = driver2.switch_to.alert
        self.assertEqual(alert.text, "Zapisano dane")
        alert.accept()
        obwod = Obwod.objects.get(id=1)
        self.assertEqual(obwod.otrzymanych_kart, 0)
        self.assertEqual(obwod.uprawnionych, 1)
        driver2.quit()

        self.selenium.implicitly_wait(100)
        inputok = self.selenium.find_element_by_name('ok')
        inputok.clear()
        inputok.send_keys('42')
        inputupr = self.selenium.find_element_by_name('upr')
        inputupr.clear()
        inputupr.send_keys('1337')
        save_button1.click()
        alert = self.selenium.switch_to.alert
        self.assertEqual(alert.text, u"Dane zmieniły się od ostatniego zapisu. Zapisujesz 1337, a ktoś inny zapisał 1")
        alert.accept()
        obwod = Obwod.objects.get(id=1)
        self.assertEqual(obwod.otrzymanych_kart, 0)
        self.assertEqual(obwod.uprawnionych, 1)
开发者ID:IridiumOxide,项目名称:WWW,代码行数:45,代码来源:tests.py

示例6: LoginTest

# 需要导入模块: from selenium.webdriver.firefox.webdriver import WebDriver [as 别名]
# 或者: from selenium.webdriver.firefox.webdriver.WebDriver import find_element_by_id [as 别名]
class LoginTest(unittest.TestCase):
    def setUp(self):
        self.driver = WebDriver()

    def tearDown(self):
        self.driver.quit()

    def test_can_login(self):
        self.driver.get(LOGIN_PAGE_URL)

        login_form = self.driver.find_element_by_id("login")

        assert_that(login_form.is_displayed(), equal_to(True))
开发者ID:valermor,项目名称:saucelabs-trial,代码行数:15,代码来源:test_simple.py

示例7: decline_offer

# 需要导入模块: from selenium.webdriver.firefox.webdriver import WebDriver [as 别名]
# 或者: from selenium.webdriver.firefox.webdriver.WebDriver import find_element_by_id [as 别名]
def decline_offer(offer_reference):
    driver = WebDriver()

    # Login
    selenium_login(webdriver=driver)

    # Decline offer
    driver.get('https://www.odesk.com/applications/%s' % offer_reference)
    driver.find_element_by_id("declineButton").click()
    driver.find_element_by_css_selector("option[value=\"146\"]").click()
    driver.find_element_by_id("otherReason").clear()
    driver.find_element_by_id("otherReason").send_keys("Test")
    driver.find_element_by_xpath("(//a[contains(text(),'Decline')])[2]").click()

    driver.close()
开发者ID:dkoleda,项目名称:urlannotator,代码行数:17,代码来源:odesk_helper.py

示例8: add_odesk_teams

# 需要导入模块: from selenium.webdriver.firefox.webdriver import WebDriver [as 别名]
# 或者: from selenium.webdriver.firefox.webdriver.WebDriver import find_element_by_id [as 别名]
def add_odesk_teams(user):
    """
        Creates oDesk teams that will be used for our jobs.
    """
    driver = WebDriver()
    driver.implicitly_wait(time_to_wait=10)

    selenium_login(webdriver=driver)
    account = user.get_profile()

    # Gain access to settings
    driver.find_element_by_css_selector("a.oNavIcon.oNavIconSettings").click()
    driver.find_element_by_id("answer").clear()
    driver.find_element_by_id("answer").send_keys(settings.ODESK_TEST_ACC_ANSWER)
    driver.find_element_by_id("submitButton").click()

    sg_name = SAMPLE_GATHERING_TEAM % TEAM_PREFIX
    v_name = VOTING_TEAM % TEAM_PREFIX
    btmg_name = BTM_GATHERING_TEAM % TEAM_PREFIX
    btmv_name = BTM_VOTING_TEAM % TEAM_PREFIX

    sg_res = add_odesk_team(webdriver=driver, name=sg_name)
    v_res = add_odesk_team(webdriver=driver, name=v_name)
    btmg_res = add_odesk_team(webdriver=driver, name=btmg_name)
    btmv_res = add_odesk_team(webdriver=driver, name=btmv_name)

    if not all([sg_res, v_res, btmg_res, btmv_res]):
        log.warning('[oDesk] Failed to create oDesk teams.')
        return False

    client = make_client_from_account(account)
    teams = client.hr.get_teams()

    for team in teams:
        if team['name'] == sg_name:
            account.odesk_teams[JOB_SAMPLE_GATHERING_KEY] = team['reference']
        elif team['name'] == v_name:
            account.odesk_teams[JOB_VOTING_KEY] = team['reference']
        elif team['name'] == btmg_name:
            account.odesk_teams[JOB_BTM_GATHERING_KEY] = team['reference']
        elif team['name'] == btmv_name:
            account.odesk_teams[JOB_BTM_VOTING_KEY] = team['reference']
    account.save()
    return True
开发者ID:dkoleda,项目名称:urlannotator,代码行数:46,代码来源:odesk_helper.py

示例9: WebDriver

# 需要导入模块: from selenium.webdriver.firefox.webdriver import WebDriver [as 别名]
# 或者: from selenium.webdriver.firefox.webdriver.WebDriver import find_element_by_id [as 别名]
# -*- coding: utf-8 -*-
from selenium.webdriver.firefox.webdriver import WebDriver
from selenium.webdriver.common.action_chains import ActionChains
import time

success = True
wd = WebDriver()
wd.implicitly_wait(60)

def is_alert_present(wd):
    try:
        wd.switch_to_alert().text
        return True
    except:
        return False

try:
    wd.get("http://localhost/php4dvd/")
    wd.find_element_by_id("username").click()
    wd.find_element_by_id("username").clear()
    wd.find_element_by_id("username").send_keys("admin")
    wd.find_element_by_name("password").click()
    wd.find_element_by_name("password").clear()
    wd.find_element_by_name("password").send_keys("admin")
    wd.find_element_by_name("submit").click()
finally:
    wd.quit()
    if not success:
        raise Exception("Test failed.")
开发者ID:aikrasnov,项目名称:study,代码行数:31,代码来源:first_test.py

示例10: WebDriver

# 需要导入模块: from selenium.webdriver.firefox.webdriver import WebDriver [as 别名]
# 或者: from selenium.webdriver.firefox.webdriver.WebDriver import find_element_by_id [as 别名]
import time

success = True
wd = WebDriver()
wd.implicitly_wait(60)

def is_alert_present(wd):
    try:
        wd.switch_to_alert().text
        return True
    except:
        return False

try:
    wd.get("http://localhost:8000/accounts/login/?next=/")
    wd.find_element_by_id("id_username").click()
    wd.find_element_by_id("id_username").clear()
    wd.find_element_by_id("id_username").send_keys("admin")
    wd.find_element_by_id("id_password").click()
    wd.find_element_by_id("id_password").clear()
    wd.find_element_by_id("id_password").send_keys("admin")
    wd.find_element_by_xpath("//form[@class='form-signin']/button").click()
    wd.find_element_by_xpath("//div/div[1]/div[2]/div/div[2]/div/ul/li[1]/a").click()
    wd.find_element_by_xpath("//div/div[1]/div[2]/div/div[2]/div/ul/li[1]/ul/li[2]/a").click()
    wd.find_element_by_xpath("//div[2]/div[1]/div[2]/div/div[2]/div/ul/li[1]/a").click()
    wd.find_element_by_xpath("//div[2]/div[1]/div[2]/div/div[2]/div/ul/li[1]/ul/li[1]/a").click()
    wd.find_element_by_id("id_nombre_usuario").click()
    wd.find_element_by_id("id_nombre_usuario").clear()
    wd.find_element_by_id("id_nombre_usuario").send_keys("Nuevo Usuario2")
    wd.find_element_by_id("id_password").click()
    wd.find_element_by_id("id_password").clear()
开发者ID:Saint-Fiasco,项目名称:is2015,代码行数:33,代码来源:test.py

示例11: UITestCase

# 需要导入模块: from selenium.webdriver.firefox.webdriver import WebDriver [as 别名]
# 或者: from selenium.webdriver.firefox.webdriver.WebDriver import find_element_by_id [as 别名]
class UITestCase(LiveServerTestCase):
    def use_xvfb(self):
        from pyvirtualdisplay import Display
        self.display = Display('xvfb',
                               visible=1,
                               size=(1280, 1024))
        self.display.start()
        self.driver = WebDriver()

    def setUp(self):
        try:
            self.driver = WebDriver()
            ui_is_not_available = False
        except WebDriverException:
            ui_is_not_available = True

        if ui_is_not_available:
            self.use_xvfb()

        self.driver.implicitly_wait(10)
        super(UITestCase, self).setUp()

    def tearDown(self):
        self.driver.quit()
        if hasattr(self, 'display'):
            self.display.stop()

        # I believe this line is no longer necessary, but I'm leaving it here
        # until the UI tests have run many times without deadlocking.
        # -RM 20140522
        #self.kill_pending_transactions()

        super(UITestCase, self).tearDown()

    def kill_pending_transactions(self):
        # The super.tearDown sometimes hangs when truncating tables
        # because of lingering pending transactions with locks on those tables.
        # Kill them to avoid deadlock!
        try:
            dbname = settings.DATABASES['default']['NAME']
            sql = "select pg_terminate_backend(procpid)" + \
                " from pg_stat_activity where datname='%s'" % dbname + \
                " and current_query='<IDLE> in transaction';"
            connection.cursor().execute(sql)
        except InterfaceError:
            # Sometimes we get "connection already closed"
            pass

    def click(self, selector):
        self.find(selector).click()

    def click_when_visible(self, selector):
        element = self.find(selector)
        self.wait_until_visible(element)
        element.click()

    def find(self, selector):
        return self.driver.find_element_by_css_selector(selector)

    def find_name(self, name):
        return self.driver.find_element_by_name(name)

    def find_id(self, id):
        return self.driver.find_element_by_id(id)

    def process_login_form(self, username, password):
        username_elmt = self.wait_until_present('[name="username"]')
        password_elmt = self.find_name('password')

        username_elmt.send_keys(username)
        password_elmt.send_keys(password)

        self.click('form * button')

    def browse_to_url(self, url):
        self.driver.get(self.live_server_url + url)

    def find_anchor_by_url(self, url):
        return self.find("[href='%s']" % url)

    def wait_until_present(self, selector, timeout=10):
        """
        Wait until an element with CSS 'selector' exists on the page.
        Useful for detecting that an operation loads the page you're expecting.
        """
        element = [None]  # use list so it can be set by inner scope

        def is_present(driver):
            element[0] = self.find(selector)
            return element[0] is not None

        WebDriverWait(self.driver, timeout).until(is_present)
        return element[0]

    def wait_until_text_present(self, text, timeout=10):
        """
        Wait until 'text' exists on the page.
        Useful for detecting that an operation loads the page you're expecting.
        """
        WebDriverWait(self.driver, timeout).until(
#.........这里部分代码省略.........
开发者ID:atogle,项目名称:OTM2,代码行数:103,代码来源:__init__.py

示例12: UITestCase

# 需要导入模块: from selenium.webdriver.firefox.webdriver import WebDriver [as 别名]
# 或者: from selenium.webdriver.firefox.webdriver.WebDriver import find_element_by_id [as 别名]
class UITestCase(LiveServerTestCase):
    def use_xvfb(self):
        from pyvirtualdisplay import Display
        self.display = Display('xvfb',
                               visible=1,
                               size=(1280, 1024))
        self.display.start()
        self.driver = WebDriver()

    def setUp(self):
        try:
            self.driver = WebDriver()
            ui_is_not_available = False
        except WebDriverException:
            ui_is_not_available = True

        if ui_is_not_available:
            self.use_xvfb()

        self.driver.implicitly_wait(10)
        super(UITestCase, self).setUp()

    def tearDown(self):
        self.driver.quit()
        if hasattr(self, 'display'):
            self.display.stop()

        super(UITestCase, self).tearDown()

    def click(self, selector):
        self.find(selector).click()

    def find(self, selector):
        return self.driver.find_element_by_css_selector(selector)

    def find_name(self, name):
        return self.driver.find_element_by_name(name)

    def find_id(self, id):
        return self.driver.find_element_by_id(id)

    def process_login_form(self, username, password):
        username_elmt = self.find_name('username')
        password_elmt = self.find_name('password')

        username_elmt.send_keys(username)
        password_elmt.send_keys(password)

        self.click('form * button')

    def browse_to_url(self, url):
        self.driver.get(self.live_server_url + url)

    def find_anchor_by_url(self, url):
        return self.find("[href='%s']" % url)

    def wait_until_enabled(self, element, timeout=10):
        def isPresentAndEnabled(driver):
            return element.get_attribute("disabled") is None
        WebDriverWait(self.driver, timeout).until(isPresentAndEnabled)

    def wait_until_visible(self, element, timeout=10):
        def isPresentAndEnabled(driver):
            return element.is_displayed()
        WebDriverWait(self.driver, timeout).until(isPresentAndEnabled)
开发者ID:heath,项目名称:OTM2,代码行数:67,代码来源:__init__.py

示例13: WebDriver

# 需要导入模块: from selenium.webdriver.firefox.webdriver import WebDriver [as 别名]
# 或者: from selenium.webdriver.firefox.webdriver.WebDriver import find_element_by_id [as 别名]
import time

success = True
wd = WebDriver()
wd.implicitly_wait(60)

def is_alert_present(wd):
    try:
        wd.switch_to_alert().text
        return True
    except:
        return False

try:
    wd.get("http://b11test4a.mentoringmindsonline.com/mysdb_m3_test4/_design/mys/mmloginw.html")
    wd.find_element_by_id("loginUserID").click()
    wd.find_element_by_id("loginUserID").clear()
    wd.find_element_by_id("loginUserID").send_keys("113177")
    wd.find_element_by_id("userPasswd").click()
    wd.find_element_by_id("userPasswd").clear()
    wd.find_element_by_id("userPasswd").send_keys("Ctfl*5258")
    wd.find_element_by_id("sign-in").click()
    wd.find_element_by_id("reportsBigBtnBtn").click()
    wd.find_element_by_id("selectReportTypeW").click()
    wd.find_element_by_id("dijit_MenuItem_30_text").click()
    wd.find_element_by_id("dijit_MenuItem_39_text").click()
    wd.find_element_by_id("dijit_MenuItem_92_text").click()
    wd.find_element_by_id("generateReportBtn").click()
    wd.find_element_by_css_selector("#dojox_mobile_ToolBarButton_34 > span.mblToolBarButtonBody.mblColorDefault > table.mblToolBarButtonText > tbody > tr > td.mblToolBarButtonLabel").click()
    wd.find_element_by_css_selector("#dojox_mobile_ToolBarButton_4 > span.mblToolBarButtonBody.mblColorDefault > table.mblToolBarButtonText > tbody > tr > td.mblToolBarButtonLabel").click()
    wd.find_element_by_css_selector("td.mblToolBarButtonLabel").click()
开发者ID:grcdev8,项目名称:testing,代码行数:33,代码来源:firstTest.py

示例14: ProfessorTest

# 需要导入模块: from selenium.webdriver.firefox.webdriver import WebDriver [as 别名]
# 或者: from selenium.webdriver.firefox.webdriver.WebDriver import find_element_by_id [as 别名]
class ProfessorTest(LiveServerTestCase):
    
    def setUp(self):
        self.browser = WebDriver()
        self.browser.implicitly_wait(1)
        create_user_and_login(self.browser, self.live_server_url,'john','johnpassword','[email protected]')
        self.name_professor = 'teste'

    def tearDown(self):
        [professor.delete() for professor in Professor.find()]
        self.browser.quit()
        
    def create_professor(self,professor_name):
        open_page(self.browser, '/interface/professor', self.live_server_url)
        button_create_professor = self.browser.find_element_by_name('criar')
        button_create_professor.click()
        self.assertIn('Interface - Professor Create', self.browser.title)
        form_name = self.browser.find_element_by_id('id_name')
        form_name.send_keys(professor_name)
        form_memberId = self.browser.find_element_by_id('id_memberId')
        form_memberId.send_keys('00000')
        form_office = self.browser.find_element_by_id('id_office')
        form_office.send_keys('0')
        form_email = self.browser.find_element_by_id('id_email')
        form_email.send_keys('0')
        form_phoneNumber = self.browser.find_element_by_id('id_phoneNumber')
        form_phoneNumber.send_keys('0')
        form_cellphoneNumber = self.browser.find_element_by_id('id_cellphoneNumber')
        form_cellphoneNumber.send_keys('0')
        form_idDepartment = self.browser.find_element_by_id('id_idDepartment')
        form_idDepartment.send_keys('')
        button_submit = self.browser.find_element_by_name('Cadastrar')
        button_submit.click()

    def test_login_to_interface_page(self):
        self.assertIn('Index', self.browser.title)
        link_interface = self.browser.find_element_by_link_text('Interface')
        link_interface.click()
        self.assertIn('Interface', self.browser.title)
        
    def test_login_to_professor_page(self):
        open_page(self.browser, '/interface/', self.live_server_url)
        professor_interface = self.browser.find_element_by_link_text('Professor')
        professor_interface.click()
        self.assertIn('Interface - Professor', self.browser.title)
        
    def test_create_professor(self):
        self.create_professor(self.name_professor)
        open_page(self.browser, '/interface/professor', self.live_server_url)
        professor_name_link = self.browser.find_element_by_link_text(self.name_professor)
        self.assertIsNotNone(professor_name_link)
        
    def test_edit_professor(self):
        professor = Professor(self.name_professor)
        professor.store()
        open_page(self.browser, '/interface/professor', self.live_server_url)
        professor_name_link = self.browser.find_element_by_link_text(self.name_professor)
        professor_name_link.click()
        self.assertIn('Interface - Professor Detail', self.browser.title)
        button_edit = self.browser.find_element_by_name('editar')
        button_edit.click()
        self.assertIn('Interface - Professor Edit', self.browser.title)
        form_name = self.browser.find_element_by_id('id_name')
        form_name.send_keys('Edit')
        form_memberId = self.browser.find_element_by_id('id_memberId')
        form_memberId.send_keys('')
        form_office = self.browser.find_element_by_id('id_office')
        form_office.send_keys('')
        form_email = self.browser.find_element_by_id('id_email')
        form_email.send_keys('')
        form_phoneNumber = self.browser.find_element_by_id('id_phoneNumber')
        form_phoneNumber.send_keys('0')
        form_cellphoneNumber = self.browser.find_element_by_id('id_cellphoneNumber')
        form_cellphoneNumber.send_keys('0')
        form_idDepartment = self.browser.find_element_by_id('id_idDepartment')
        form_idDepartment.send_keys('')
        button_apply = self.browser.find_element_by_name('Aplicar')
        button_apply.click()
        open_page(self.browser, '/interface/professor', self.live_server_url)
        professor_name_link_after_edit = self.browser.find_element_by_link_text(self.name_professor + 'Edit')
        professor_name_link_after_edit.click()
        list_professor_info = self.browser.find_elements_by_tag_name('p')
        self.assertEqual(list_professor_info[1].text, 'Member ID: 0')
        self.assertEqual(list_professor_info[2].text, 'Office: None')
        self.assertEqual(list_professor_info[3].text, 'Email: None')
        self.assertEqual(list_professor_info[4].text, 'Phone Number: 0')
        self.assertEqual(list_professor_info[5].text, 'CellPhone Number: 0')
        self.assertEqual(list_professor_info[6].text, 'Id Department: None')
    
    def test_delete_professor(self):
        professor = Professor(self.name_professor)
        professor.store()
        open_page(self.browser, '/interface/professor', self.live_server_url)
        professor_name_link = self.browser.find_element_by_link_text(self.name_professor)
        professor_name_link.click()
        self.assertIn('Interface - Professor Detail', self.browser.title)
        button_delete = self.browser.find_element_by_name('deletar')
        button_delete.click()
        alert = self.browser.switch_to.alert
        alert.accept()
#.........这里部分代码省略.........
开发者ID:SuperNovaPOLIUSP,项目名称:supernova,代码行数:103,代码来源:tests.py

示例15: BaseSeleniumPoolStatsTestCase

# 需要导入模块: from selenium.webdriver.firefox.webdriver import WebDriver [as 别名]
# 或者: from selenium.webdriver.firefox.webdriver.WebDriver import find_element_by_id [as 别名]
class BaseSeleniumPoolStatsTestCase(BasePoolStatsTestCase):

    def setUp(self):

        self.vdisplay = Xvfb(width=1280, height=1024)
        self.vdisplay.start()
        self.selenium = WebDriver()
        super(BaseSeleniumPoolStatsTestCase, self).setUp()

    def tearDown(self):

        self.selenium.quit()
        self.vdisplay.stop()
        super(BaseSeleniumPoolStatsTestCase, self).tearDown()

    def score_sheet_create(self,
                           match_id=BasePoolStatsTestCase.DEFAULT_TEST_MATCH_ID,
                           week_id=BasePoolStatsTestCase.DEFAULT_TEST_WEEK_ID):
        self.selenium.get('{}week/{}'.format(self.base_url, week_id))
        self.selenium.find_element_by_id('score_sheet_create_button_match_{}'.format(match_id)).click()

    def populate_lineup(self, away_players=4, home_players=4):
        # get the lineup form, set the first player to 1, second to 2, etc
        for location_name in location_names:
            # first, make sure the form you are about to interact with is visible, to avoid a
            # selenium.common.exceptions.ElementNotInteractableException being thrown.
            self.selenium.find_element_by_id('toggle-{}_lineup'.format(location_name)).click()
            lineup_form = self.selenium.find_element_by_id('{}_lineup'.format(location_name))
            # referring to away_players and home_players only via eval() makes them look unused ...
            for inc in range(0, eval('{}_players'.format(location_name))):
                select = Select(lineup_form.find_element_by_id('id_form-{}-player'.format(inc)))
                select.select_by_index(inc + 1)  # 'inc + 1' as the first option in the select is '------' or similar
            # submit the form
            self.selenium.find_element_by_id('{}_lineup_save'.format(location_name)).click()

    def set_substitution(self, away_home, game_index, player_index=1, substitution_index=0):
        self.selenium.find_element_by_id('toggle-{}_substitutions'.format(away_home)).click()
        substitution_form = self.selenium.find_element_by_id('{}_substitutions'.format(away_home))
        game_select = Select(substitution_form.find_element_by_id('id_form-{}-game_order'.format(substitution_index)))
        if game_index is not None:
            game_select.select_by_index(game_index)
        player_select = Select(substitution_form.find_element_by_id('id_form-{}-player'.format(substitution_index)))
        # select the 1th player; zero is '------' or similar
        player_select.select_by_index(player_index)
        selected_player = player_select.first_selected_option
        self.selenium.find_element_by_id('{}_substitutions_save'.format(away_home)).click()
        return selected_player

    def set_winners(self, forfeits=0, table_runs=0, random_wins=True):
        games_form = self.selenium.find_element_by_name('score_sheet_games_form')
        # hard-coding game count here, is there a way to not do that?
        # id_form-1-winner_0
        win_counts = {
            'home': 0,
            'away': 0,
        }
        forfeit_games = []
        tr_games = []

        for inc in range(0, 16):
            # choose whether home (0) or away (1) wins "randomly"
            if random_wins:
                winner = randrange(0, 2)
            else:
                winner = inc % 2
            win_counts[location_names[winner]] += 1
            button = games_form.find_element_by_id('id_form-{}-winner_{}'.format(inc, winner))
            button.click()
            # set some forfeits!

        while len(forfeit_games) < forfeits:
            candidate = randrange(0, 16)
            while candidate in forfeit_games:
                candidate = randrange(0, 16)
            forfeit_games.append(candidate)
        while len(tr_games) < table_runs:
            candidate = randrange(0, 16)
            while candidate in forfeit_games or candidate in tr_games:
                candidate = randrange(0, 16)
            tr_games.append(candidate)

        for forfeit_game in forfeit_games:
            games_form.find_element_by_id('id_form-{}-forfeit'.format(forfeit_game)).click()
        for tr_game in tr_games:
            games_form.find_element_by_id('id_form-{}-table_run'.format(tr_game)).click()

        games_form.find_element_by_id('games-save-button').click()
        return win_counts

    @staticmethod
    def count_player_stats_in_table(table):

        player_rows = table.find_elements_by_xpath('tbody/tr')
        wins = 0
        losses = 0
        trs = 0
        for player_row in player_rows:
            player_cells = player_row.find_elements_by_tag_name('td')
            wins += int(player_cells[3].text)
            losses += int(player_cells[4].text)
#.........这里部分代码省略.........
开发者ID:paul-krohn,项目名称:django-pool-stats,代码行数:103,代码来源:base_cases.py


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