Python selenium.webdriver.common.keys.Keys.DOWN Examples

The following are 4 code examples of selenium.webdriver.common.keys.Keys.DOWN(). You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may also want to check out all available functions/classes of the module selenium.webdriver.common.keys.Keys , or try the search function .
Example #1
Source File: xuexi.py    From autoxuexi with GNU General Public License v3.0 5 votes vote down vote up
def read_new_article(self):
        article_url = 'https://www.xuexi.cn/lgdata/1jscb6pu1n2.json'

        try:
            resp = requests.get(article_url, proxies=config['proxies'] if config['use_proxy'] else {})
        except Exception:
            raise TimeoutError('Timeout')

        resp_list = eval(resp.text)

        self.__exit_flag.clear()

        for link in resp_list:
            try:
                if not read_check(link['itemId'], 'article'):
                    continue

                self.driver.get(link['url'])
                app.log(u'正在学习文章:%s' % link['title'])
                while not self.__exit_flag.isSet():
                    ActionChains(self.driver).key_down(Keys.DOWN).perform()

                    self.driver.execute_script("""
                        (function(){
                            if (document.documentElement.scrollTop + document.documentElement.clientHeight  >= document.documentElement.scrollHeight*0.9){
                                document.title = 'scroll-done';}
                            })();
                            """)
                    if u'scroll-done' in self.driver.title:
                        break
                    else:
                        self.__exit_flag.wait(random.randint(2, 5))
                app.log(u'%s 学习完毕' % link['title'])
                yield True
            except Exception as error:
                logging.debug(error)
                yield False 
Example #2
Source File: 2048.py    From automate-the-boring-stuff-projects with MIT License 5 votes vote down vote up
def play():
    """
    Args:
        None
    Returns:
        None
    """
    driver = webdriver.Firefox(executable_path='/Users/keneudeh/Downloads/geckodriver')
    driver.get('https://play2048.co/')

    key_select = [Keys.UP, Keys.DOWN, Keys.LEFT, Keys.RIGHT]

    gameStatusElem = driver.find_element_by_css_selector('.game-container p')
    htmlElem = driver.find_element_by_css_selector('html')
    

    while gameStatusElem.text != 'Game over!':
        
        htmlElem.send_keys(key_select[random.randint(0, 3)])
        gameStatusElem = driver.find_element_by_css_selector('.game-container p')

    score = driver.find_element_by_css_selector('.score-container').text

    print(f'You scored: {score}') 
Example #3
Source File: test_frontend.py    From sos-notebook with BSD 3-Clause "New" or "Revised" License 5 votes vote down vote up
def test_history_in_console(self, notebook):
        notebook.edit_prompt_cell("a = 1", execute=True)
        assert "" == notebook.get_prompt_content()
        notebook.edit_prompt_cell("b <- 2", kernel="R", execute=True)
        assert "" == notebook.get_prompt_content()
        notebook.prompt_cell.send_keys(Keys.UP)
        assert "b <- 2" == notebook.get_prompt_content()
        notebook.prompt_cell.send_keys(Keys.UP)
        assert "a = 1" == notebook.get_prompt_content()
        # FIXME: down keys does not work, perhaps because the cell is not focused and
        # the first step would be jumping to the end of the line
        notebook.prompt_cell.send_keys(Keys.DOWN)
        notebook.prompt_cell.send_keys(Keys.DOWN)
        #  assert 'b <- 2' == notebook.get_prompt_content() 
Example #4
Source File: basic_test.py    From micromasters with BSD 3-Clause "New" or "Revised" License 5 votes vote down vote up
def test_switch_program(self, browser, base_test_data, logged_in_staff):
        """
        Switching programs should show a different set of users
        """
        existing_program_user_count = settings.ELASTICSEARCH_DEFAULT_PAGE_SIZE
        create_enrolled_user_batch(existing_program_user_count, program=base_test_data.program, is_staff=False)

        new_program = ProgramFactory.create(live=True)
        new_program_user_count = settings.ELASTICSEARCH_DEFAULT_PAGE_SIZE - 1
        create_enrolled_user_batch(new_program_user_count, program=new_program, is_staff=False)
        ProgramEnrollment.objects.create(program=new_program, user=logged_in_staff)
        Role.objects.create(
            role=Staff.ROLE_ID,
            user=logged_in_staff,
            program=new_program,
        )

        # Load the learners page for the existing program
        browser.get("/learners")
        browser.wait_until_element_count(By.CLASS_NAME, 'learner-result', existing_program_user_count)
        # Switch programs and check that the correct number of users are returned
        switcher = browser.driver.find_element_by_css_selector('.micromasters-header .Select-input')
        switcher.send_keys(Keys.DOWN)
        switcher.send_keys(Keys.ENTER)
        browser.wait_until_element_count(By.CLASS_NAME, 'learner-result', new_program_user_count)
        # Refresh browser and verify the count is the same
        browser.get("/learners")
        browser.wait_until_element_count(By.CLASS_NAME, 'learner-result', new_program_user_count)