python类CLASS_NAME的实例源码

core.py 文件源码 项目:selenium_extensions 作者: pythad 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def populate_text_field(driver, element_locator, text):
    '''Populates text field with provided text

    Args:
        element_locator ((selenium.webdriver.common.by.By., str)): element locator described using `By`. Take a look at `Locate elements By <http://selenium-python.readthedocs.io/api.html#locate-elements-by>`_ for more info.
        text (str): text to populate text field with.

    Example:
        ::

            from selenium import webdriver
            from selenium.webdriver.common.by import By
            from selenium_extensions.core import populate_text_field


            driver = webdriver.Chrome()
            ...
            populate_text_field(driver, (By.CLASS_NAME, 'textbox'), 'some text')
    '''
    input_element = driver.find_element(*element_locator)
    input_element.send_keys(text)
crack.py 文件源码 项目:CrackWeiboSlide 作者: Python3WebSpider 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def get_position(self):
        """
        ???????
        :return: ???????
        """
        try:
            img = self.wait.until(EC.presence_of_element_located((By.CLASS_NAME, 'patt-shadow')))
        except TimeoutException:
            print('??????')
            self.open()
        time.sleep(2)
        location = img.location
        size = img.size
        top, bottom, left, right = location['y'], location['y'] + size['height'], location['x'], location['x'] + size[
            'width']
        return (top, bottom, left, right)
webelement.py 文件源码 项目:ShuoshuoMonitor 作者: aploium 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def find_element(self, by=By.ID, value=None):
        if not By.is_valid(by) or not isinstance(value, str):
            raise InvalidSelectorException("Invalid locator values passed in")

        if self._w3c:
            if by == By.ID:
                by = By.CSS_SELECTOR
                value = '[id="%s"]' % value
            elif by == By.TAG_NAME:
                by = By.CSS_SELECTOR
            elif by == By.CLASS_NAME:
                by = By.CSS_SELECTOR
                value = ".%s" % value
            elif by == By.NAME:
                by = By.CSS_SELECTOR
                value = '[name="%s"]' % value

        return self._execute(Command.FIND_CHILD_ELEMENT,
                             {"using": by, "value": value})['value']
webelement.py 文件源码 项目:ShuoshuoMonitor 作者: aploium 项目源码 文件源码 阅读 31 收藏 0 点赞 0 评论 0
def find_elements(self, by=By.ID, value=None):
        if not By.is_valid(by) or not isinstance(value, str):
            raise InvalidSelectorException("Invalid locator values passed in")

        if self._w3c:
            if by == By.ID:
                by = By.CSS_SELECTOR
                value = '[id="%s"]' % value
            elif by == By.TAG_NAME:
                by = By.CSS_SELECTOR
            elif by == By.CLASS_NAME:
                by = By.CSS_SELECTOR
                value = ".%s" % value
            elif by == By.NAME:
                by = By.CSS_SELECTOR
                value = '[name="%s"]' % value

        return self._execute(Command.FIND_CHILD_ELEMENTS,
                             {"using": by, "value": value})['value']
webdriver.py 文件源码 项目:ShuoshuoMonitor 作者: aploium 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def find_element(self, by=By.ID, value=None):
        """
        'Private' method used by the find_element_by_* methods.

        :Usage:
            Use the corresponding find_element_by_* instead of this.

        :rtype: WebElement
        """
        if not By.is_valid(by) or not isinstance(value, str):
            raise InvalidSelectorException("Invalid locator values passed in")
        if self.w3c:
            if by == By.ID:
                by = By.CSS_SELECTOR
                value = '[id="%s"]' % value
            elif by == By.TAG_NAME:
                by = By.CSS_SELECTOR
            elif by == By.CLASS_NAME:
                by = By.CSS_SELECTOR
                value = ".%s" % value
            elif by == By.NAME:
                by = By.CSS_SELECTOR
                value = '[name="%s"]' % value
        return self.execute(Command.FIND_ELEMENT,
                             {'using': by, 'value': value})['value']
scene_pages.py 文件源码 项目:pretix-screenshots 作者: pretix 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def shot_pages(live_server, organizer, event, logged_in_client, page_faq, page_tos):
    event.plugins += ',pretix_pages'
    event.save()

    logged_in_client.get(live_server.url + '/control/event/{}/{}/pages'.format(
        organizer.slug, event.slug
    ))
    screenshot(logged_in_client, 'plugins/pages/list.png')
    logged_in_client.get(live_server.url + '/control/event/{}/{}/pages/{}/'.format(
        organizer.slug, event.slug, page_tos.pk
    ))
    WebDriverWait(logged_in_client, 10).until(
        EC.presence_of_element_located((By.CLASS_NAME, "ql-formats"))
    )
    time.sleep(.5)
    screenshot(logged_in_client, 'plugins/pages/edit.png')
    logged_in_client.get(live_server.url + '/{}/{}/page/{}/'.format(
        organizer.slug, event.slug, page_faq.slug
    ))
    screenshot(logged_in_client, 'plugins/pages/frontend.png')
webelement.py 文件源码 项目:amazon_order_history_scraper 作者: drewctate 项目源码 文件源码 阅读 25 收藏 0 点赞 0 评论 0
def find_element(self, by=By.ID, value=None):
        if self._w3c:
            if by == By.ID:
                by = By.CSS_SELECTOR
                value = '[id="%s"]' % value
            elif by == By.TAG_NAME:
                by = By.CSS_SELECTOR
            elif by == By.CLASS_NAME:
                by = By.CSS_SELECTOR
                value = ".%s" % value
            elif by == By.NAME:
                by = By.CSS_SELECTOR
                value = '[name="%s"]' % value

        return self._execute(Command.FIND_CHILD_ELEMENT,
                             {"using": by, "value": value})['value']
webelement.py 文件源码 项目:amazon_order_history_scraper 作者: drewctate 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def find_elements(self, by=By.ID, value=None):
        if self._w3c:
            if by == By.ID:
                by = By.CSS_SELECTOR
                value = '[id="%s"]' % value
            elif by == By.TAG_NAME:
                by = By.CSS_SELECTOR
            elif by == By.CLASS_NAME:
                by = By.CSS_SELECTOR
                value = ".%s" % value
            elif by == By.NAME:
                by = By.CSS_SELECTOR
                value = '[name="%s"]' % value

        return self._execute(Command.FIND_CHILD_ELEMENTS,
                             {"using": by, "value": value})['value']
webdriver.py 文件源码 项目:amazon_order_history_scraper 作者: drewctate 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def find_element(self, by=By.ID, value=None):
        """
        'Private' method used by the find_element_by_* methods.

        :Usage:
            Use the corresponding find_element_by_* instead of this.

        :rtype: WebElement
        """
        if self.w3c:
            if by == By.ID:
                by = By.CSS_SELECTOR
                value = '[id="%s"]' % value
            elif by == By.TAG_NAME:
                by = By.CSS_SELECTOR
            elif by == By.CLASS_NAME:
                by = By.CSS_SELECTOR
                value = ".%s" % value
            elif by == By.NAME:
                by = By.CSS_SELECTOR
                value = '[name="%s"]' % value
        return self.execute(Command.FIND_ELEMENT, {
            'using': by,
            'value': value})['value']
webdriver.py 文件源码 项目:amazon_order_history_scraper 作者: drewctate 项目源码 文件源码 阅读 36 收藏 0 点赞 0 评论 0
def find_elements(self, by=By.ID, value=None):
        """
        'Private' method used by the find_elements_by_* methods.

        :Usage:
            Use the corresponding find_elements_by_* instead of this.

        :rtype: list of WebElement
        """
        if self.w3c:
            if by == By.ID:
                by = By.CSS_SELECTOR
                value = '[id="%s"]' % value
            elif by == By.TAG_NAME:
                by = By.CSS_SELECTOR
            elif by == By.CLASS_NAME:
                by = By.CSS_SELECTOR
                value = ".%s" % value
            elif by == By.NAME:
                by = By.CSS_SELECTOR
                value = '[name="%s"]' % value

        return self.execute(Command.FIND_ELEMENTS, {
            'using': by,
            'value': value})['value']
cookies.py 文件源码 项目:CookiesPool 作者: Python3WebSpider 项目源码 文件源码 阅读 27 收藏 0 点赞 0 评论 0
def get_position(self):
        """
        ???????
        :return: ???????
        """
        try:
            img = self.wait.until(EC.presence_of_element_located((By.CLASS_NAME, 'patt-shadow')))
        except TimeoutException:
            print('??????')
            self.open()
        time.sleep(2)
        location = img.location
        size = img.size
        top, bottom, left, right = location['y'], location['y'] + size['height'], location['x'], location['x'] + size[
            'width']
        return (top, bottom, left, right)
calculate_slider_offset.py 文件源码 项目:fintech_spider 作者: hee0624 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def get_search_page(search_text):
    url = "http://www.gsxt.gov.cn/index.html"
    # driver = webdriver.Chrome("/home/hee/driver/chromedriver")
    driver = webdriver.Chrome("E:\\virtualenv\\chromedriver.exe")
    driver.get(url)
    wait = WebDriverWait(driver, 20)
    element = wait.until(EC.presence_of_element_located((By.ID, "keyword")))
    element.clear()
    element.send_keys(search_text)

    # element.send_keys(Keys.ENTER)
    time.sleep(random.uniform(1.0,2.0))
    element = driver.find_element_by_id("btn_query")
    element.click()
    wait = WebDriverWait(driver, 30)
    element = wait.until(
        EC.presence_of_element_located((By.CLASS_NAME, "gt_box")))
    time.sleep(random.uniform(2.0, 3.0))
    return driver
page_selenium_python.py 文件源码 项目:spider 作者: luanxiangming 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def repeat_next(self):
        while True:
            try:
                next_button = self.wait.until(
                    EC.element_to_be_clickable(
                        (By.CLASS_NAME, 'float-right'))
                )
                pages = self.driver.find_elements(By.CSS_SELECTOR, '.current.reference.internal')
                for page in pages:
                    ("\n" + page.get_attribute('text'))
                self.click(next_button)
            except NoSuchElementException:
                print("End of page")
                break
            except TimeoutException:
                print("Timeout error...")
                break
helper.py 文件源码 项目:test-automation 作者: openstax 项目源码 文件源码 阅读 31 收藏 0 点赞 0 评论 0
def open_user_menu(self):
        """
        Hamburger (user) menu opener.

        ToDo: branching to handle if a toggle is already open
        """
        """if self.get_window_size('width') <= self.CONDENSED_WIDTH:
            # compressed window display on Tutor
            self.wait.until(
                expect.visibility_of_element_located(
                    (By.CLASS_NAME, 'navbar-toggle')
                )
            ).click()"""
        self.wait.until(
            expect.visibility_of_element_located(
                (By.CSS_SELECTOR, '#user-actions-menu')
            )
        ).click()
helper.py 文件源码 项目:test-automation 作者: openstax 项目源码 文件源码 阅读 30 收藏 0 点赞 0 评论 0
def goto_performance_forecast(self):
        """Access the performance forecast page."""
        print('Enter: goto_performance_forecast')
        self.goto_menu_item('Performance Forecast')
        timer = 0
        while timer < 10:
            try:
                print('Wait for forecast load try %s of 10' % (timer + 1))
                self.wait.until(
                    expect.visibility_of_element_located(
                        (By.CLASS_NAME, 'guide-container')
                    )
                )
                timer = 10
            except:
                timer = timer + 1
        print('Exit: goto_performance_forecast')
helper.py 文件源码 项目:test-automation 作者: openstax 项目源码 文件源码 阅读 28 收藏 0 点赞 0 评论 0
def get_enrollment_code(self, section_name):
        """Return the enrollment code for a class section."""
        print('Enter: get_enrollment_code')
        if 'settings' not in self.driver.current_url:
            self.goto_course_roster()
        self.find(By.XPATH, '//a[text()="%s"]' % section_name).click()
        self.wait.until(
            expect.element_to_be_clickable(
                (By.CLASS_NAME, 'show-enrollment-code')
            )
        ).click()
        sleep(1)
        code = self.wait.until(
            expect.presence_of_element_located(
                (By.CLASS_NAME, 'code')
            )
        )
        print('Exit: get_enrollment_code')
        return '%s' % code.text.strip()
tests_selenium.py 文件源码 项目:timestrap 作者: overshard 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def test_projects_add(self):
        Client(name='Client', archive=False).save()
        self.logIn()
        self.addPerms(['view_client', 'view_project'])
        self.driver.get('%s%s' % (self.live_server_url, '/clients/'))

        self.assertNotIn('project-add', self.driver.page_source)
        self.addPerms(['add_project'])
        self.driver.refresh()
        self.find(By.NAME, 'project-add').click()
        self.waitForPresence((By.ID, 'project-modal'))
        self.select2Select('project-client', 'Client')
        self.find(By.NAME, 'project-name').send_keys('Project')
        self.find(By.NAME, 'project-estimate').send_keys('100.00')
        self.find(By.NAME, 'project-modal-submit').click()
        self.waitForPresence((By.CLASS_NAME, 'project'))
tests_selenium.py 文件源码 项目:timestrap 作者: overshard 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def test_projects_change(self):
        client = Client(name='Client', archive=False)
        client.save()
        Project(name='Project', client=client, estimate=100.00,
                archive=False).save()
        self.logIn()
        self.addPerms(['view_client', 'view_project'])
        self.driver.get('%s%s' % (self.live_server_url, '/clients/'))

        self.assertNotIn('project-menu', self.driver.page_source)
        self.addPerms(['change_project'])
        self.driver.refresh()
        self.waitForClickable((By.NAME, 'project-menu'))
        self.find(By.NAME, 'project-menu').click()
        self.find(By.ID, 'project-menu-change').click()
        self.waitForPresence((By.NAME, 'project-name'))
        self.find(By.NAME, 'project-name').send_keys(' Changed')
        self.clear(self.find(By.NAME, 'project-estimate'))
        self.find(By.NAME, 'project-estimate').send_keys('50.00')
        self.find(By.NAME, 'project-modal-submit').click()
        self.waitForText((By.CLASS_NAME, 'project-name'), 'Project Changed')
tests_selenium.py 文件源码 项目:timestrap 作者: overshard 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def test_tasks_change(self):
        Task(name='Task', hourly_rate=25).save()
        self.logIn()
        self.addPerms(['view_task'])
        self.driver.get('%s%s' % (self.live_server_url, '/tasks/'))

        self.assertNotIn('task-menu-change', self.driver.page_source)
        self.addPerms(['change_task'])
        self.driver.refresh()
        self.find(By.NAME, 'task-menu').click()
        self.find(By.ID, 'task-menu-change').click()
        self.waitForPresence((By.NAME, 'task-name'))
        self.find(By.NAME, 'task-name').send_keys(' Changed')
        hourly_rate_field = self.find(By.NAME, 'task-hourly-rate')
        hourly_rate_field.click()
        self.clear(hourly_rate_field)
        hourly_rate_field.send_keys('125')
        self.find(By.NAME, 'task-modal-submit').click()
        self.waitForText((By.CLASS_NAME, 'task'), 'Task Changed\n$125')
tests_selenium.py 文件源码 项目:timestrap 作者: overshard 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def test_timesheet_entry_delete(self):
        client = Client(name='Client', archive=False)
        client.save()
        project = Project(name='Project 1', estimate=100.00,
                          client=client, archive=False)
        project.save()
        task = Task(name='Task 1', hourly_rate=130)
        task.save()
        # Log in to establish self.user.
        self.logIn()
        Entry(project=project, task=task, user=self.user, note='Note',
              duration=timedelta(minutes=35)).save()
        self.addPerms(['view_entry', 'delete_entry'])
        self.driver.get('%s%s' % (self.live_server_url, '/timesheet/'))

        self.waitForPresence((By.NAME, 'entry-menu'))
        self.find(By.NAME, 'entry-menu').click()
        self.waitForPresence((By.CLASS_NAME, 'entry-menu-delete'))
        self.find(By.CLASS_NAME, 'entry-menu-delete').click()
        self.assertNotIn('entry', self.find(By.ID, 'entry-rows').text)
common.py 文件源码 项目:picoCTF 作者: picoCTF 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def find_class_with_timeout(driver, CLASS, timeout=TIMEOUT):
    return WebDriverWait(driver, timeout).until(
        EC.presence_of_element_located((By.CLASS_NAME, CLASS))
    )
bot.py 文件源码 项目:sbu-bot 作者: danielamorais 项目源码 文件源码 阅读 25 收藏 0 点赞 0 评论 0
def login(email, senha, firefox):
    firefox.get('http://acervus.unicamp.br/asp/login.asp?modo_busca=rapida&content=mensagens&iBanner=0&iEscondeMenu=0&iSomenteLegislacao=0&iIdioma=0')
    firefox.implicitly_wait(10)
    WebDriverWait(firefox, 60).until(EC.visibility_of_element_located((By.ID, 'button1')))
    try:
        input_login = firefox.find_element_by_name("codigo")
        input_login.send_keys(email)
        input_pwd = firefox.find_element_by_name("senha")
        input_pwd.send_keys(senha)
        send_button = firefox.find_element_by_id("button1")
        send_button.click()
        WebDriverWait(firefox, 30).until(EC.visibility_of_element_located((By.CLASS_NAME, 'justificado')))
    except Exception, err:
        error_message = "Erro no login. Verifique usuário e senha."
        print error_message
        logging.exception(error_message)
        raise
    return
linkedin_collect_url.py 文件源码 项目:linkedin_recommend 作者: duggalr2 项目源码 文件源码 阅读 25 收藏 0 点赞 0 评论 0
def linkedinrec_people(url):
    """ Get's the 10 "People Also Viewed" from a person's url """
    time.sleep(2)
    driver.get(url)
    driver.implicitly_wait(15)
    try:
        wait = WebDriverWait(driver, 15)
        wait.until(EC.presence_of_element_located((By.CLASS_NAME, "right-rail")))
        wait.until(EC.presence_of_element_located((By.TAG_NAME, "ul")))
        wait.until(EC.presence_of_element_located((By.TAG_NAME, "li")))
        a = driver.find_element_by_class_name('right-rail')
        cr = driver.find_element_by_class_name('core-rail')
        yr = cr.find_element_by_tag_name('section')
        xr = yr.find_elements_by_tag_name('div')
        ar = xr[5].text.split('\n')
        sr = ar[0] + ' ' + ar[1]
        y = a.find_element_by_tag_name('ul')
        x = y.find_elements_by_tag_name('li')
        title = [x[i].text.replace('\n', ' ') for i in range(len(x))]
        title.append(sr)
        link = [i.find_element_by_tag_name('a').get_attribute('href') for i in x]
        link.append(url)
        profile_detail = driver.find_element_by_class_name('profile-detail')
        summary = profile_detail.find_elements_by_class_name('pv-entity__summary-info')
        # experience = [i.find_element_by_tag_name('h3').text for i in summary]
        # education = profile_detail.find_element_by_class_name('pv-entity__degree-info').text.split('\n')
        # accomplishment = profile_detail.find_element_by_class_name('pv-accomplishments-block__content')
        # print(accomplishment.text)
        # interest = profile_detail.find_element_by_class_name('pv-deferred-area__content')
        # int_li = interest.find_elements_by_tag_name('li')
        # for i in int_li:
        #     print(i.text)

        # return list(zip(title, link))
    except:
        print('Cannot find it..')
        driver.quit()
linkedin_parser.py 文件源码 项目:linkedin_recommend 作者: duggalr2 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def get_person_header(self, url):
        """
        Return the Person's Name + Header + Url
        """
        self.driver.get(url)
        ret_list = []
        try:
            wait = WebDriverWait(self.driver, 20)
            wait.until(EC.presence_of_element_located((By.CLASS_NAME, "pv-top-card-section__body")))

            try:
                initial_div = self.driver.find_element_by_class_name('pv-top-card-section__body')
                main_div = initial_div.find_element_by_tag_name('div')
                name = main_div.find_element_by_tag_name('h1')
                ret_list.append(name.text)
                header = main_div.find_element_by_tag_name('h2')
                ret_list.append(header.text)
                ret_list.append(url)
            except:
                pass

            return ret_list

        except:
            raise Exception('Cannot find it..')
linkedin_parser.py 文件源码 项目:linkedin_recommend 作者: duggalr2 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def get_people_viewed(self, url):
        """
        Parses's the Person's Name + Header and also parse's the 10 "People Also Viewed" from a person's url
        Returns list of tuples with (Name + Header, url)
        If people also viewed option not available, list will just be len(1)
        (Rarely, Selenium doesn't pick up the JS DOM, so the script tries 2 more times before raising an exception)
        """
        self.driver.get(url)
        # count = 0
        try:
            wait = WebDriverWait(self.driver, 20)
            wait.until(EC.presence_of_element_located((By.CLASS_NAME, "right-rail")))
            # wait.until(EC.presence_of_element_located((By.TAG_NAME, "ul")))
            # wait.until(EC.presence_of_element_located((By.TAG_NAME, "li")))
            a = self.driver.find_element_by_class_name('right-rail')
            cr = self.driver.find_element_by_class_name('core-rail')
            y = a.find_element_by_tag_name('ul')
            x = y.find_elements_by_tag_name('li')
            link = [i.find_element_by_tag_name('a').get_attribute('href') for i in x]
            link.append(url)
            return link
        except:
            raise Exception('Tried and Cannot find it..')
            # self.driver.quit()
ticketing_layer.py 文件源码 项目:Tktr 作者: Intuity 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def release_tickets(cls, type_name, quantity=100):
        # Login
        cls.admin_login()
        # Find the release link and click it
        cls.browser.get(cls.route_path("admin_tickets"))
        row = 1
        found = False
        while cls.is_element_present("//table/tbody/tr[%i]/td[1]" % row):
            name = cls.browser.find_element_by_xpath("//table/tbody/tr[%i]/td[1]" % row).text
            if type_name in name:
                cell = cls.browser.find_element_by_xpath("//table/tbody/tr[%i]/td[4]" % row)
                cell.find_element(By.CLASS_NAME, "release_tick_link").click()
                found = True
                break
            row += 1
        assert found, "Didn't find release link for ticket type!"
        # Now actually release some tickets
        cls.browser.find_element(By.ID, "number").send_keys(str(quantity))
        cls.browser.find_element(By.ID, "submit").click()
        # Deal with modal alert
        try:
            cls.browser.switch_to_alert().accept()
        except Exception:
            pass # Catch for PhantomJS
        # Logout
        cls.logout()
        # Return quantity
        return quantity
common.py 文件源码 项目:picoCTF 作者: royragsdale 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def find_class_with_timeout(driver, CLASS, timeout=TIMEOUT):
    return WebDriverWait(driver, timeout).until(
        EC.presence_of_element_located((By.CLASS_NAME, CLASS))
    )
screenshot.py 文件源码 项目:AboveTustin 作者: kevinabrandon 项目源码 文件源码 阅读 186 收藏 0 点赞 0 评论 0
def loadmap(self):
        '''
        loadmap()
        Creates a browser object and loads the webpage.
        It sets up the map to the proper zoom level.

        Returns the browser on success, None on fail.
        '''
        browser = webdriver.PhantomJS(desired_capabilities={'phantomjs.page.settings.resourceTimeout': '20000'})
        browser.set_window_size(abovetustin_image_width, abovetustin_image_height)

        print("getting web page {}".format(self.url))
        browser.set_page_load_timeout(15)
        browser.get(self.url)

        # Need to wait for the page to load
        timeout = g_request_timeout
        print ("waiting for page to load...")
        wait = WebDriverWait(browser, timeout)
        element = wait.until(EC.element_to_be_clickable((By.CLASS_NAME,'vrsMenu')))
        self.browser = browser
webelement.py 文件源码 项目:devsecops-example-helloworld 作者: boozallen 项目源码 文件源码 阅读 29 收藏 0 点赞 0 评论 0
def find_element_by_class_name(self, name):
        """Finds element within this element's children by class name.

        :Args:
            - name - class name to search for.
        """
        return self.find_element(by=By.CLASS_NAME, value=name)
webelement.py 文件源码 项目:devsecops-example-helloworld 作者: boozallen 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def find_elements_by_class_name(self, name):
        """Finds a list of elements within this element's children by class name.

        :Args:
            - name - class name to search for.
        """
        return self.find_elements(by=By.CLASS_NAME, value=name)


问题


面经


文章

微信
公众号

扫码关注公众号