Ejemplo n.º 1
0
    def get_replay_helper(self, replay_id, background):
        if background:
            fast_forward_btn = self.driver.find_element_by_css_selector("[data-action='ff']") 
            # Iterate through up to MAX_GAME_LENGTH turns
            for i in range(MAX_GAME_LENGTH):
                fast_forward_btn.click()
                # Once we've skipped through at least 100 turns, check if the
                # battle has ended every 50 turns
                if i > 100 & i % 50 == 0:
                    log = self.driver.find_element_by_css_selector(".battle-log")
                    if "won the battle" in log.text:
                        return log.text 
            # If the game hasn't ended after MAX_GAME_LENGTH turns, throw an exception
            raise EndOfLogException("Failed to reach end of log file")                
        else:
            # Open the turn picking dialogue
            pick_turn_btn = self.driver.find_element_by_css_selector("[data-action='ffto']")
            pick_turn_btn.click()

            # Pick the last turn
            alert = Alert(self.driver)
            alert.send_keys(str(-1))
            alert.accept()      

            log = self.driver.find_element_by_css_selector(".battle-log")
            return log.text
Ejemplo n.º 2
0
    def get_replay_helper(self, replay_id, background):
        if background:
            fast_forward_btn = self.driver.find_element_by_css_selector(
                "[data-action='ff']")
            # Iterate through up to MAX_GAME_LENGTH turns
            for i in range(MAX_GAME_LENGTH):
                fast_forward_btn.click()
                # Once we've skipped through at least 100 turns, check if the
                # battle has ended every 50 turns
                if i > 100 & i % 50 == 0:
                    log = self.driver.find_element_by_css_selector(
                        ".battle-log")
                    if "won the battle" in log.text:
                        return log.text
            # If the game hasn't ended after MAX_GAME_LENGTH turns, throw an exception
            raise EndOfLogException("Failed to reach end of log file")
        else:
            # Open the turn picking dialogue
            pick_turn_btn = self.driver.find_element_by_css_selector(
                "[data-action='ffto']")
            pick_turn_btn.click()

            # Pick the last turn
            alert = Alert(self.driver)
            alert.send_keys(str(-1))
            alert.accept()

            log = self.driver.find_element_by_css_selector(".battle-log")
            return log.text
Ejemplo n.º 3
0
 def doLogin(self, credential):
     if self.driver:
         alert = Alert(self.driver)
         if alert and credential:
             print(alert)
             #alert.send_keys(f'u{Keys.TAB}p')
             #alert.send_keys( usr + Keys.TAB + pwd )
             alert.send_keys(str(credential))
             sleep(5)
             alert.accept()
             sleep(10)
             print(self.driver.current_url)
             if self.driver.current_url == MAIN_URL:
                 self.loged = True
                 print("Loged IN !  :)")
                 return True
             else:
                 alert.dismiss()
                 print("Could not log in..  :(")
                 return False
         else:
             print("Could not auth alert")
             return False
     else:
         print("Could not find driver FF")
         return False
Ejemplo n.º 4
0
 def login_to_reportronic(self):
     """Authenticate user with given username and password from
     config.json.
     """
     self.logger.info('Trying to log in to Reportronic.')
     self.driver.get(self.url)
     prompt = Alert(self.driver)
     prompt.send_keys(self.user + Keys.TAB + self.password)
     prompt.accept()
Ejemplo n.º 5
0
 def alert_sendkeys(self, string):
     """在弹出框中输入内容"""
     try:
         ele = self.alert_is_pressent()
         ele.send_keys(string)
     except:
         try:
             alert = self.driver.switch_to_alert()
             alert.send_keys(string)
         except:
             try:
                 alert = Alert(self.driver)
                 alert.send_keys(string)
             except:
                 raise ("not find alert")
Ejemplo n.º 6
0
    def test_alert_three(self):
        third_alert_btn_path = '//*[@id="content"]/div/ul/li[3]/button'
        alert_results_path = '//*[@id="result"]'
        expected_text_in_alert = 'You entered: How is my spaghetti code looks like?'
        driver = self.driver
        driver.get(self.alerts_url)

        btn_alert = driver.find_element_by_xpath(third_alert_btn_path).click()
        alert = Alert(driver)
        print("Alert shows following message: " + alert.text)
        alert.send_keys('How is my spaghetti code looks like?')
        alert.accept()
        message = driver.find_element_by_xpath(alert_results_path).text
        self.assertEqual(expected_text_in_alert, message,
                         f'Message should say: {message}')
        print(message)
Ejemplo n.º 7
0
 def _auth_firefox_proxy(driver):
     driver.set_page_load_timeout(10)
     try:
         driver.get('http://icanhazip.com')
     except:
         from selenium.webdriver.common.alert import Alert
         time.sleep(3)
         alert = Alert(driver)
         time.sleep(3)
         #alert.authenticate(CRAWLERA_APIKEY, '')
         alert.send_keys(CRAWLERA_APIKEY + '\n')
         alert.accept()
         #alert.send_keys('\t')
         #alert.send_keys('\n')
         #import pdb; pdb.set_trace()
     driver.set_page_load_timeout(30)
Ejemplo n.º 8
0
def stress_test(username, password, key, max_count):
    emailInput.send_keys(username)
    passwordInput.send_keys(password)
    loginButton.click()
    driver.get(chatUrl)
    time.sleep(3.5)
    alert = Alert(driver)
    alert.send_keys(key)
    alert.accept()
    message_input = driver.find_element_by_xpath("//*[@id='messageInput']")
    send_button = driver.find_element_by_xpath("//*[@id='sendButton']")
    count = 1
    while count <= max_count:
        message_input.send_keys("This is Message number " + str(count))
        send_button.click()
        clear()
        print("Sending message " + str(count) + " / " + str(max_count))
        count += 1
 def alert_action(self, alert_action_state, text=None):
     try:
         alert = Alert(self.context.driver)
         if alert_action_state == AlertAction.ACCEPT:
             alert.accept()
             self.context.logger.info("Alert accept performed")
             return True
         elif alert_action_state == AlertAction.DISMISS:
             alert.dismiss()
             return True
         elif alert_action_state == AlertAction.SETTEXT:
             print(text)
             alert.send_keys(text)
             return True
         elif alert_action_state == AlertAction.GETTEXT:
             return alert.text
         return False
     except NoAlertPresentException as e:
         raise NoAlertPresentException(e)
Ejemplo n.º 10
0
def test_alert():
    log = Log("UI测试").get_logger()
    driver = webdriver.Firefox()
    driver.set_window_size(960, 540)  # 设置窗口大小
    driver.get('http://sahitest.com/demo/promptTest.htm')

    time.sleep(2)
    driver.find_element_by_name('b1').click()

    # a1 = driver.switch_to.alert  # 通过switch_to.alert切换到alert
    a1 = Alert(driver)  # 直接实例化Alert对象
    time.sleep(2)
    log.info(a1.text)  # 获取alert文本内容,对有信息显示的alert框

    a1.send_keys('send some words to alert!')  # 往prompt型alert中传入字符串
    time.sleep(2)
    a1.accept()  # 等同于点击“确认”或“OK”
    # a1.dismiss() # 等同于点击“取消”或“Cancel”
    log.info(driver.find_element_by_name('t1').get_attribute('value'))

    driver.quit()
Ejemplo n.º 11
0
def type_message_and_get_prompt_text_and_close_prompt(context):

    try:
        # wait for Prompt to be displayed
        context.driver.wait.until(EC.alert_is_present())

        # store Prompt in a variable for reuse
        alert = Alert(context.driver)

        # type a message
        alert.send_keys("Anna")

        # store the Prompt text in a variable
        prompt_text = alert.text

        print(f'Prompt shows following message: ' + prompt_text)

        # press the OK button to accept Prompt
        alert.accept()
        print("Prompt accepted")
    except TimeoutException:
        print("No Prompt")
Ejemplo n.º 12
0
 def alert_send_keys(self, text):
     alert = Alert(self.driver)
     alert.send_keys(text)
Ejemplo n.º 13
0
"""
PROMPT
-------
Aparece um texto, um campo a ser preenchido,
e dois botões "OK" (accept) e "Cancelar" (dismiss)

Prompt é tratado como alerta
"""

from selenium.webdriver import Firefox
from selenium.webdriver.common.alert import Alert
from time import sleep

b = Firefox()
url = 'https://selenium.dunossauro.live/aula_11_a'

b.get(url)
sleep(10)
b.find_element_by_id('prompt').click()  # Clica no botão de id 'alert'

prompt = Alert(b)
prompt.send_keys('Pedro')
print(prompt.text)

sleep(10)
prompt.accept()  # Aperta em OK
# prompt.dismiss() # Aperta em Cancelar

# OBS: Posso dar switch_to para outros locais: .window, .frame, etc.
from selenium.webdriver.common.alert import Alert
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support.expected_conditions import (
    visibility_of_element_located, alert_is_present)

from selenium.webdriver.common.by import By

url = 'https://selenium.dunossauro.live/aula_11_a.html'
browser = Firefox()
browser.get(url)

wdw = WebDriverWait(browser, 30)

wdw.until(visibility_of_element_located((By.ID, 'all')))

browser.find_element_by_id('all').click()

alert = Alert(browser)

wdw.until(alert_is_present())

alert.accept()  # alert
alert.send_keys('Rafael')  # prompt
alert.accept()  # prompt
alert.accept()  # confirm

browser.find_element_by_id('alertd').click()
alertd = wdw.until(alert_is_present())  # Esperar o alert, retorna o alerta
alertd.accept()

browser.quit()
Ejemplo n.º 15
0
def sendValueToAlert(driver, value):
    alt = Alert(driver)
    print(alt.text)
    alt.send_keys(value)
    alt.accept()
Ejemplo n.º 16
0
from selenium.webdriver import Firefox
from time import sleep
from selenium.webdriver.common.alert import Alert

browser = Firefox()

browser.get('http://selenium.dunossauro.live/aula_11_a')

sleep(1)

browser.find_element_by_id('prompt').click()

alerta = Alert(browser)

alerta.send_keys('Matheus')
#alerta.accept() # confirma, clicka no ok
Ejemplo n.º 17
0
"""
Botão final - all
"""

from selenium.webdriver import Firefox
from selenium.webdriver.common.alert import Alert
from time import sleep

b = Firefox()
url = 'https://selenium.dunossauro.live/aula_11_a'

b.get(url)
sleep(10)

b.find_element_by_id('all').click()
alerta = Alert(b)

# Note que aqui vou usar só um Alert para diferentes tipos de alerta

alerta.accept()  # alerta
alerta.send_keys('Pedro')  # prompt
alerta.accept()  # prompt
alerta.accept()  # confirma
Ejemplo n.º 18
0
    def one_voter_votes(self, voter, direct=False):
        browser = self.browser

        if direct:
            url = voter["election_page_url"]
            browser.get(settings.SERVER_URL + "/vote.html#" +
                        urlencode({"url": url}))

        else:
            # Bob has received 2 emails containing an invitation to vote and all necessary credentials (election page URL, username, password). He goes to the election page URL.
            browser.get(voter["election_page_url"])

            wait_a_bit()

            # He clicks on the "Start" button
            start_button_expected_label = "Start"
            start_button_css_selector = "#main button"
            start_button_element = wait_for_element_exists_and_contains_expected_text(
                browser, start_button_css_selector,
                start_button_expected_label, settings.EXPLICIT_WAIT_TIMEOUT)
            start_button_element.click()

        wait_a_bit()

        # A loading screen appears, then another screen appears. He clicks on the "Here" button
        here_button_expected_label = "here"
        here_button_css_selector = "#input_code button"
        here_button_element = wait_for_element_exists_and_contains_expected_text(
            browser, here_button_css_selector, here_button_expected_label,
            settings.EXPLICIT_WAIT_TIMEOUT)
        here_button_element.click()

        wait_a_bit()

        # A modal opens (it is an HTML modal created using Window.prompt()), with an input field. He types his credential.
        credential_prompt = Alert(browser)
        credential_prompt.send_keys(voter["credential"])
        credential_prompt.accept()

        wait_a_bit()

        # A new screen appears, which has a title "Step 2/6: Answer to questions", and a content:
        # "Question 1?"
        # "Question #1 of 1 — select between 1 and 2 answer(s)"
        # [ ] "Answer 1"
        # [ ] "Answer 2"
        # [Next]
        # (where "[ ]" is a checkbox, and [Next] is a button)

        # He fills his votes to each answer of the question
        answers_css_selector = "#question_div input[type=checkbox]"
        answers_elements = wait_for_elements_exist(
            browser, answers_css_selector, settings.EXPLICIT_WAIT_TIMEOUT
        )  # or we could use find_element_by_xpath("//div[@id='question_div']/input[@type='checkbox'][2]")

        assert len(answers_elements) is 2
        question1_answer1_element = answers_elements[0]
        question1_answer2_element = answers_elements[1]
        voter_vote_to_question_1_answer_1 = voter["votes"]["question1"][
            "answer1"]
        voter_vote_to_question_1_answer_2 = voter["votes"]["question1"][
            "answer2"]
        voter_vote_to_question_1_answer_1_is_checked = question1_answer1_element.get_attribute(
            'checked')
        voter_vote_to_question_1_answer_2_is_checked = question1_answer2_element.get_attribute(
            'checked')
        assert voter_vote_to_question_1_answer_1_is_checked is None
        assert voter_vote_to_question_1_answer_2_is_checked is None
        if voter_vote_to_question_1_answer_1:
            question1_answer1_element.click()
        if voter_vote_to_question_1_answer_2:
            question1_answer2_element.click()

        wait_a_bit()

        # He clicks on the "Next" button
        next_button_expected_label = "Next"
        next_button_css_selector = "#question_div button"
        next_button_element = wait_for_element_exists_and_contains_expected_text(
            browser, next_button_css_selector, next_button_expected_label,
            settings.EXPLICIT_WAIT_TIMEOUT)
        next_button_element.click()

        wait_a_bit()
        """
        A new screen appears, showing:

        Step 3/6: Review and encrypt
        Question 1?
        - Answer 1

        Your ballot has been successfully encrypted, but has not been cast yet!

        Your smart ballot tracker is sLRilXoAYcodIrjWrOqPrVXLNlRyCJAqFeeHZ4WCajU

        We invite you to save it in order to check later that it is taken into account.

        [Continue]
        [Restart]
        """

        # He remembers the smart ballot tracker that is displayed.
        smart_ballot_tracker_css_selector = "#ballot_tracker"
        smart_ballot_tracker_element = wait_for_element_exists_and_has_non_empty_content(
            browser, smart_ballot_tracker_css_selector,
            settings.EXPLICIT_WAIT_TIMEOUT)
        smart_ballot_tracker_value = smart_ballot_tracker_element.get_attribute(
            'innerText')
        assert len(smart_ballot_tracker_value) > 5

        voter["smart_ballot_tracker"] = smart_ballot_tracker_value

        # He clicks on the "Continue" button
        next_button_expected_label = "Continue"
        next_button_css_selector = "#div_submit input[type=submit][value='" + next_button_expected_label + "']"
        next_button_element = browser.find_element_by_css_selector(
            next_button_css_selector)
        next_button_element.click()

        wait_a_bit()

        # He types his voter username and password, and submits the form
        username_field_css_selector = "#main input[name=username]"
        username_field_element = wait_for_element_exists(
            browser, username_field_css_selector,
            settings.EXPLICIT_WAIT_TIMEOUT)
        username_field_element.send_keys(voter["username"])

        password_field_css_selector = "#main input[name=password]"
        password_field_element = browser.find_element_by_css_selector(
            password_field_css_selector)
        password_field_element.send_keys(voter["password"])

        wait_a_bit()

        password_field_element.submit()

        wait_a_bit()

        # He checks that the smart ballot tracker value that appears on screen is the same as the one he noted
        smart_ballot_tracker_verification_css_selector = "#ballot_tracker"
        smart_ballot_tracker_verification_element = wait_for_element_exists_and_has_non_empty_content(
            browser, smart_ballot_tracker_verification_css_selector,
            settings.EXPLICIT_WAIT_TIMEOUT)
        smart_ballot_tracker_verification_value = smart_ballot_tracker_verification_element.get_attribute(
            'innerText')
        assert len(smart_ballot_tracker_verification_value) > 5

        assert smart_ballot_tracker_verification_value == voter[
            "smart_ballot_tracker"]

        # He clicks on the "I cast my vote" button
        submit_button_css_selector = "#main input[type=submit]"
        submit_button_element = browser.find_element_by_css_selector(
            submit_button_css_selector)
        submit_button_element.click()
Ejemplo n.º 19
0
from time import sleep
from selenium.webdriver import Firefox
from selenium.webdriver.common.alert import Alert

browser = Firefox()

browser.get('http://selenium.dunossauro.live/aula_11_a')
sleep(3)

alerta = Alert(browser)
# alerta = browser.switch_to.alert # NoAlertPresentException

browser.find_element_by_id('all').click()

alerta.accept()  # alerta
alerta.send_keys('Eduardo')  # prompt
alerta.accept()  # prompt
alerta.accept()  # confirm
Ejemplo n.º 20
0
from selenium.webdriver.common.alert import Alert
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support.expected_conditions import (
    visibility_of_element_located, alert_is_present)

from selenium.webdriver.common.by import By

url = 'https://selenium.dunossauro.live/aula_11_a.html'
browser = Firefox()
browser.get(url)

wdw = WebDriverWait(browser, 30)

wdw.until(visibility_of_element_located((By.ID, 'prompt')))

browser.find_element_by_id('prompt').click()

alert = Alert(browser)

wdw.until(alert_is_present())

print(alert.text)
alert.send_keys('digitando no prompt')
alert.accept()

browser.find_element_by_id('prompt').click()

wdw.until(alert_is_present())

print(alert.text)
alert.dismiss()
Ejemplo n.º 21
0
    def one_voter_votes(self, voter, direct=False):
        browser = self.browser

        if direct:
            url = voter["election_page_url"]
            browser.get(settings.SERVER_URL + "/vote.html#" + urlencode({"url": url}))

        else:
            # Bob has received 2 emails containing an invitation to vote and all necessary credentials (election page URL, username, password). He goes to the election page URL.
            browser.get(voter["election_page_url"])

            wait_a_bit()

            # He clicks on the "Start" button
            start_button_expected_label = "Start"
            start_button_css_selector = "#main button"
            start_button_element = wait_for_element_exists_and_contains_expected_text(browser, start_button_css_selector, start_button_expected_label, settings.EXPLICIT_WAIT_TIMEOUT)
            start_button_element.click()

        wait_a_bit()

        # A loading screen appears, then another screen appears. He clicks on the "Here" button
        here_button_expected_label = "here"
        here_button_css_selector = "#input_code button"
        here_button_element = wait_for_element_exists_and_contains_expected_text(browser, here_button_css_selector, here_button_expected_label, settings.EXPLICIT_WAIT_TIMEOUT)
        here_button_element.click()

        wait_a_bit()

        # A modal opens (it is an HTML modal created using Window.prompt()), with an input field. He types his credential.
        credential_prompt = Alert(browser)
        credential_prompt.send_keys(voter["credential"])
        credential_prompt.accept()

        wait_a_bit()

        # A new screen appears, which has a title "Step 2/6: Answer to questions", and a content:
        # "Question 1?"
        # "Question #1 of 1 — select between 1 and 2 answer(s)"
        # [ ] "Answer 1"
        # [ ] "Answer 2"
        # [Next]
        # (where "[ ]" is a checkbox, and [Next] is a button)

        # He fills his votes to each answer of the question
        answers_css_selector = "#question_div input[type=checkbox]"
        answers_elements = wait_for_elements_exist(browser, answers_css_selector, settings.EXPLICIT_WAIT_TIMEOUT) # or we could use find_element_by_xpath("//div[@id='question_div']/input[@type='checkbox'][2]")

        assert len(answers_elements) is 2
        question1_answer1_element = answers_elements[0]
        question1_answer2_element = answers_elements[1]
        voter_vote_to_question_1_answer_1 = voter["votes"]["question1"]["answer1"]
        voter_vote_to_question_1_answer_2 = voter["votes"]["question1"]["answer2"]
        voter_vote_to_question_1_answer_1_is_checked = question1_answer1_element.get_attribute('checked')
        voter_vote_to_question_1_answer_2_is_checked = question1_answer2_element.get_attribute('checked')
        assert voter_vote_to_question_1_answer_1_is_checked is None
        assert voter_vote_to_question_1_answer_2_is_checked is None
        if voter_vote_to_question_1_answer_1:
            question1_answer1_element.click()
        if voter_vote_to_question_1_answer_2:
            question1_answer2_element.click()

        wait_a_bit()

        # He clicks on the "Next" button
        next_button_expected_label = "Next"
        next_button_css_selector = "#question_div button"
        next_button_element = wait_for_element_exists_and_contains_expected_text(browser, next_button_css_selector, next_button_expected_label, settings.EXPLICIT_WAIT_TIMEOUT)
        next_button_element.click()

        wait_a_bit()

        """
        A new screen appears, showing:

        Step 3/6: Review and encrypt
        Question 1?
        - Answer 1

        Your ballot has been successfully encrypted, but has not been cast yet!

        Your smart ballot tracker is sLRilXoAYcodIrjWrOqPrVXLNlRyCJAqFeeHZ4WCajU

        We invite you to save it in order to check later that it is taken into account.

        [Continue]
        [Restart]
        """

        # He remembers the smart ballot tracker that is displayed.
        smart_ballot_tracker_css_selector = "#ballot_tracker"
        smart_ballot_tracker_element = wait_for_element_exists_and_has_non_empty_content(browser, smart_ballot_tracker_css_selector, settings.EXPLICIT_WAIT_TIMEOUT)
        smart_ballot_tracker_value = smart_ballot_tracker_element.get_attribute('innerText')
        assert len(smart_ballot_tracker_value) > 5

        voter["smart_ballot_tracker"] = smart_ballot_tracker_value

        # He clicks on the "Continue" button
        next_button_expected_label = "Continue"
        next_button_css_selector = "#div_submit input[type=submit][value='" + next_button_expected_label + "']"
        next_button_element = browser.find_element_by_css_selector(next_button_css_selector)
        next_button_element.click()

        wait_a_bit()

        # He types his voter username and password, and submits the form
        username_field_css_selector = "#main input[name=username]"
        username_field_element = wait_for_element_exists(browser, username_field_css_selector, settings.EXPLICIT_WAIT_TIMEOUT)
        username_field_element.send_keys(voter["username"])

        password_field_css_selector = "#main input[name=password]"
        password_field_element = browser.find_element_by_css_selector(password_field_css_selector)
        password_field_element.send_keys(voter["password"])

        wait_a_bit()

        password_field_element.submit()

        wait_a_bit()

        # He checks that the smart ballot tracker value that appears on screen is the same as the one he noted
        smart_ballot_tracker_verification_css_selector = "#ballot_tracker"
        smart_ballot_tracker_verification_element = wait_for_element_exists_and_has_non_empty_content(browser, smart_ballot_tracker_verification_css_selector, settings.EXPLICIT_WAIT_TIMEOUT)
        smart_ballot_tracker_verification_value = smart_ballot_tracker_verification_element.get_attribute('innerText')
        assert len(smart_ballot_tracker_verification_value) > 5

        assert smart_ballot_tracker_verification_value == voter["smart_ballot_tracker"]

        # He clicks on the "I cast my vote" button
        submit_button_css_selector = "#main input[type=submit]"
        submit_button_element = browser.find_element_by_css_selector(submit_button_css_selector)
        submit_button_element.click()
Ejemplo n.º 22
0
from selenium.webdriver import Firefox
from time import sleep
from selenium.webdriver.common.alert import Alert

browser = Firefox()

browser.get('http://selenium.dunossauro.live/aula_11_a')

sleep(2)

alerta = Alert(browser)

browser.find_element_by_id('all').click()

alerta.accept() # alerta
alerta.send_keys('Matheus') # prompt
alerta.accept() # prompt
alerta.accept() # confirm
Ejemplo n.º 23
0
    newgamebtn.click()
    clearbtn.click()
    sleep(10)

#TEST CASE 4
with webdriver.Firefox() as driver:
    wait = WebDriverWait(driver, 10)
    driver.get("http://127.0.0.1:3000")

    mail2self = driver.find_elements_by_class_name('MailSelfButton')[0]
    mail2self.click()

    sleep(10)
    wait.until(expected_conditions.alert_is_present())
    alert = Alert(driver)
    alert.send_keys("*****@*****.**")
    sleep(10)
    alert.accept()

#TEST CASE 5
with webdriver.Firefox() as driver:
    wait = WebDriverWait(driver, 10)
    driver.get("http://127.0.0.1:3000")

    canvas = driver.find_element_by_class_name("TheCanvas")
    drawing = ActionChains(driver)\
        .click_and_hold(canvas)\
        .move_by_offset(30, 25)\
        .move_by_offset(20, -20)\
        .move_by_offset(-70, 25)\
        .release()
Ejemplo n.º 24
0
alert = browser.switch_to.alert
alert.accept()
## Avançado de Alert
try:
    WebDriverWait(browser, 3).until(EC.alert_is_present(), 'Timed out waiting for PA creation ' + 'confirmation popup to appear.')
    alert = browser.switch_to.alert
    alert.accept()
    print("alert accepted")
except TimeoutException:
    print("no alert")
#Operando com Alert
alert = Alert(driver)   # Instancia a classe alert
alert.dismiss()     # Clica no Botão Cancelar
alert.accept() # Confirma o alerta
alert.text      # Pega o texto presente na caixa de Alerta
alert.send_keys("Texto a ser enviado para o Alert")
# Login com Alert
driver.switch_to.alert.authenticate('usuario', "senha")
Alert(driver).accept()




#Trocar de Iframe
driver.switch_to.frame("frame3")  #Nome do Iframe
driver.switch_to.default_content()     #Volta ao Frame Padrão
driver.switch_to.frame(2)       #Selecionando o Frame por Número
driver.switch_to.frame(driver.find_element_by_tag_name("iframe")[1]);       #Selecionando Iframe por busca de "Find"


# Limpar Todos os pdfs da pasta atual, Novo dirtorio passe o path completo
Ejemplo n.º 25
0
                    novo_dia = p.driver.find_element_by_xpath(xpath)
                    novo_dia_texto = novo_dia.text.replace('__', '').strip()
                    if len(novo_dia_texto) == 0:
                        break

                    col += 1

                p.logger.info(
                    f'Uma nova data será inserida na coluna {col-1}.')

                # é preciso clicar na célula correspondente ao dia para
                # ativar um prompt javascript e preencher com o dia
                try:
                    novo_dia.click()
                    alert = Alert(p.driver)
                    alert.send_keys(dia)
                    alert.accept()
                    p.logger.info(f'Inserido dia {dia} no diário.')
                except:
                    p.errorquit(
                        f'Não foi possível inserir dia {dia} no diário.')
                sleep(1)

                # clica no checkbox correspondente ao dia para
                # marcar presença a todos os alunos, por padrão
                try:
                    box_dia = p.driver.find_element_by_id('day_' +
                                                          str(col - 1))
                    box_dia.click()
                    p.logger.info('Marcando presença para os estudantes.')
                except:
Ejemplo n.º 26
0
 def step_switch_to_alert(self, value1, value2):
     prompt = Alert(self.driver)
     prompt.send_keys(value1)
     prompt.send_keys(value2)
     prompt.accept()
Ejemplo n.º 27
0
from selenium.webdriver.common.alert import Alert
"""
Vamos levantar um http server com o comando abaixo:
python -m http.server --bind 127.0.0.1 8083
"""

driver = webdriver.Chrome()
driver.maximize_window

# windows path
driver.get("http://127.0.0.1:8083/html/prompt.html")

# linux path
# driver.get("http://127.0.0.1:8083/alert_tests/html/prompt.html")
driver.implicitly_wait(10)

test = driver.find_element("id", "prompt")
test.click()
sleep(5)
alert = Alert(driver)
print(alert.text)
sleep(3)
nome = "Reinaldo Mateus"
alert.send_keys(nome)
alert.accept()

test2 = driver.find_element("id", "demo")
assert test2.text == nome

sleep(10)
driver.quit()
Ejemplo n.º 28
0
class Common_driver():
    # de
    def __init__(self, webElement_for_select=None):
        self.act = webdriver.ActionChains(Driver().driver())
        self.alt = Alert(Driver.driver())
        # self.select = Select(webElement_for_select)
    def explicit_wait(self, xpath):
        # self.wait = WebDriverWait(Driver().driver(), 10).until(EC.presence_of_element_located((xpath)))
        pass
        # return self.wait

    # use ActionChains class for clicking through action
    def actions_click(self, menu):
        # self.act.move_to_element(menu)
        self.act.move_to_element(menu).click().perform()
        # self.act.click(menu)
        # self.act.perform()
    def actions_double_click(self, menu):
        self.act.double_click(menu).perform()

    def actions_move_to_element(self, menu, hidden_menu):
        self.act.move_to_element(menu).click().perform()
        self.act.click(hidden_menu).perform()
        # self.act.perform()

    #ActionChains for click and hold
    def click_and_hold(self, webElement1):
        # act = ActionChains(Driver().driver())
        self.act.click_and_hold(webElement1).perform()

    #context click
    def context_click(self, webElement1):
        self.act.context_click(webElement1).perform()

    #drag and drop
    def drag_and_drop(self, webElement1_drag, webElement1_drop):
        self.act.drag_and_drop(webElement1_drag, webElement1_drop).perform()

    # key down
    def key_down(self, value):
        self.act.key_down(Keys.CONTROL).send_keys(value).key_up(
            Keys.CONTROL).perform()
        #suppose you want to write ctrl+c , then put 'c' in value

    #Alerts  -  use this class to interact with alert prompts . It contains methods
    # for dismissing ,accepting, and getting text from alert prompts

    # accepting
    #accept the accept available
    def alert_accept(self):
        self.alt.accept()  # confirm a alert dialog

    def alert_dismiss(self):
        self.alt.dismiss(self)

    # authenticate the username and password
    def alert_authenticate(self, username, password):
        Driver().driver().swith_to_alert.authenticate(username, password)

    def alert_send_keys(self, keys_to_send):
        self.alt.send_keys(keys_to_send)

    #text - to get text from alert
    # here is end of the alert
    @classmethod
    def sele(cls, webElement1):
        sel = Select(webElement1)
        return cls(sel)

    # select starts
    def select_by_index(self, webElement1, index):
        self.sel = Select(webElement1)
        # self.sel = Common_driver.sele(webElement1)
        self.sel.select_by_index(index)

    def select_by_visible_text(self, webElement1, text):
        self.sel = Select(webElement1)
        self.sel.select_by_visible_text(text)

    def select_by_value(self, webElement1):
        self.sel = Select(webElement1)
        self.sel.select_by_value(value)
Ejemplo n.º 29
0
click_me.click()
sleep(3)

driver.switch_to.alert  # alert() --Java
alert_text = alert.text  # just getText() --Java
print(alert_text)
alert.accept()

sleep(4)
click_me = driver.find_element_by_xpath("(//button[text()='Click me!'])[2]")
click_me.click()

sleep(3)

driver.switch_to.alert  # alert() --Java
alert.dismiss()
sleep(4)

click_me = driver.find_element_by_xpath(
    "(//button[text()='Click for Prompt Box'])")
click_me.click()

sleep(3)

driver.switch_to.alert  # alert() --Java
alert.send_keys("Hello")
alert.accept()

sleep(8)
driver.close()
driver.quit()
Ejemplo n.º 30
0
alert = wait.until(expected_conditions.alert_is_present())
# 将警告中的文本存储到变量
alert_text = alert.text
# 模拟点击确定按钮
alert.accept()

# js的confirm确认框
browser.find_element_by_link_text("xxx").click()
wait.until(expected_conditions.alert_is_present())
alert = browser.switch_to.alert
alert_text = alert.text
alert.dismiss()

# js的prompt提示框
alert = Alert(browser)
alert.send_keys("xxx")
alert.accept()

# http代理设置
Proxy = "host:port"
webdriver.DesiredCapabilities.CHROME["proxy"] = {
    "httpProxy": Proxy,
    "ftpProxy": Proxy,
    "sslProxy": Proxy,
    "proxyType": "MANUAL",
}

with webdriver.Chrome() as driver:
    driver.get("xxx.com")

# 页面加载策略
Ejemplo n.º 31
0
#Masterfully crafted by Cameron Lewis
#userNamme = f"dai\\cameron.lewis"
userNamme = input("Enter your DAI or ODS account name, including the DAI\\ or ODSDAI\\: ")
passWurd = getpass.getpass(prompt='What is your ODS Grant Access Password?: ')
print('"""""""""""\n Please wait while your access is granted. You should receive your usual notification email if this is successful.\n"""""""""""\n')

firefox_options = Options()
firefox_options.add_argument("--headless")
driver = webdriver.Firefox(options=firefox_options)
driver.get("http://odssysmonweb.odsdai.netdai.com/grantaccess")
wait = WebDriverWait(driver, 10)
WebDriverWait(driver, 1).until(ec.alert_is_present())
alert = Alert(driver)
#alert.send_keys(f"dai\\cameron.lewis{Keys.TAB}{input('What is your ODS Grant Access Password?')}{Keys.ENTER}")
alert.send_keys(f"{userNamme}{Keys.TAB}{passWurd}{Keys.ENTER}")
actions = ActionChains(driver)


#Server:
wait.until(ec.visibility_of_element_located((By.XPATH, "/html/body/div[2]/div[2]/div[1]/div[1]/div[2]/div/form/div[1]/div/div/button"))).click()
wait.until(ec.visibility_of_element_located((By.XPATH, "/html/body/div[2]/div[2]/div[1]/div[1]/div[2]/div/form/div[1]/div/div/div/div[1]/input"))).send_keys("ODSUNITEDDBLS")
wait.until(ec.visibility_of_element_located((By.XPATH, "/html/body/div[2]/div[2]/div[1]/div[1]/div[2]/div/form/div[1]/div/div/div/ul/li[253]/a"))).send_keys(Keys.ENTER)
wait.until(ec.visibility_of_element_located((By.XPATH, "/html/body/div[2]/div[2]/div[1]/div[1]/div[2]/div/form/div[1]/div/div/div/ul/li[253]/a"))).send_keys(Keys.TAB)

#Products:
wait.until(ec.visibility_of_element_located((By.XPATH, "/html/body/div[2]/div[2]/div[1]/div[1]/div[2]/div/form/div[2]/div/div"))).click()
wait.until(ec.visibility_of_element_located((By.XPATH, "/html/body/div[2]/div[2]/div[1]/div[1]/div[2]/div/form/div[2]/div/div/div/div[1]/input"))).send_keys("OTHER")
wait.until(ec.visibility_of_element_located((By.XPATH, "/html/body/div[2]/div[2]/div[1]/div[1]/div[2]/div/form/div[2]/div/div/div/ul/li[16]/a"))).send_keys(Keys.ENTER, Keys.TAB)

#Reason: