Best Python code snippet using lettuce_webdriver_python
scraper.py
Source:scraper.py  
...46                    "page": str(page_num),47                    "url": self.ROOT_DOMAIN + pack_query_string48                }49                self.page_links.append(page_dict)50    def visit_page(self, product_list_url, page_num):51        print "Page-{}, {}".format(page_num, product_list_url)52        response = urllib2.urlopen(product_list_url)53        if response.code is self.HTTP_STATUS_OK:54            page = Page()55            page.set_data(response.read())56            page.set_url(product_list_url)57            page.set_out_file(self.output_filename + "-page-" + str(page_num) + "-")58            page.scrap()59            print "{} - Completed".format(product_list_url)60            # list_page.set_response(response)61            # products = self.page.scrap()62    def scrap_all_products(self):63        # total_links = len(self.page_links)64        # print "Total Links : " + str(total_links)65        #66        # chunks = total_links / self.THREAD_NUM67        # remaining = total_links % self.THREAD_NUM68        #69        # print "Loop Required : " + str(chunks)70        # print "Starting Thread Count :" + str(self.THREAD_NUM)71        # print "Remaining Count : " + str(remaining)72        #73        # for i in range(0, chunks):74        #     for idx in range(self.THREAD_NUM):75        #         # print idx76        #         link = self.page_links[idx]77        #         page_num = link["page"]78        #         page_url = link["url"]79        #         #80        #         print "Starting Thread for url: " + page_url81        #         # t = threading.Thread(target=self.visit_page, args=(page_url, page_num,))82        #         # self.threads.append(t)83        #         # t.start()84        #85        # start_index = self.THREAD_NUM * chunks86        # #87        # remaining_chunk = total_links % self.THREAD_NUM88        # #89        # for j in range(remaining_chunk):90        #     print "Starting Thread for remaining urls"91        #     link = self.page_links[start_index]92        #     page_num = link["page"]93        #     page_url = link["url"]94        #95        #     print page_url96        #97        #     # t = threading.Thread(target=self.visit_page, args=(page_url, page_num,))98        #     # self.threads.append(t)99        #     #100        #     # print "Starting Thread for url: " + page_url101        #     # t.start()102        #103        #     start_index += 1104        count = 0;105        for link in self.page_links:106            # print link["url"]107            page_num = link["page"]108            page_url = link["url"]109            if (count % 4) is 0:110                time.sleep(5)111            t = threading.Thread(target=self.visit_page, args=(page_url, page_num,))112            self.threads.append(t)113            print "Starting Thread for url: " + page_url114            count += 1115            t.start()116            # self.visit_page(product_list_url=page_url, page_num=page_num)117    def main(self):118        try:119            opener = urllib2.build_opener()120            # opener.add_headers = [121            #     ('User-agent', 'Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36'),122            #     ('Referer', 'http://www.amazon.com/?field-keywords=LED+Lights'),123            #     ('Host', 'www.amazon.com'),124            #     ('Content-Type', 'application/x-www-form-urlencoded'),125            #     ('X-Requested-With', 'XMLHttpRequest'),126            #     ('Accept', 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8')127            # ]128            response = opener.open(self.get_url())129            # #130            # # print response.code...linkchecker.py
Source:linkchecker.py  
...17    @blockedBy(['970592','970593'])18    def visit_all_html(self):19        self.visited = {}20        with asserts.Check() as check:21            r = self.visit_page(check,'','',accepts='text/html',regex='<a href=\"([^\"]+)')22        self.log.info('DONE!! Visited %d pages' % len(self.visited))23    @test24    def visit_all_json(self):25        self.visited = {}26        with asserts.Check() as check:27            r = self.visit_page(check,'','',accepts='application/json',regex='href\"\:\"([^\"]+)')28        self.log.info('DONE!! Visited %d pages' % len(self.visited))29    @test30    def visit_all_xml(self):31        self.visited = {}32        with asserts.Check() as check:33            r = self.visit_page(check,'','',accepts='application/xml',regex='href=\"([^\"]+)')34        self.log.info('DONE!! Visited %d pages' % len(self.visited))35    36    def visit_page(self,check,referer,url,follow=True,accepts='text/html',regex=''):37        self.visited[url] = True38        r = self.get(url,accepts=accepts)39        self.log.info('Visiting %s'%url)40        check.equal(r.status_code,200,'Server returned %d on GET %s, refering from %s' %(r.status_code,url,referer))41        if follow:42            for m in re.finditer(regex,r.text,re.DOTALL | re.IGNORECASE):43                href = m.group(1)44                if href.find('reports') >= 0 and href.find('csv') <= 0:45                    # https://bugzilla.redhat.com/show_bug.cgi?id=97277446                    # reports are "just" in csv47                    continue48                if href.find('/') == 0:49                    href = self.server_url.rstrip('/')+href50                if href.find('http') < 0:51                    href = self.url(href)52                if href.find(self.server_url) >= 0 and not self.visited.has_key(href):...page_factory.py
Source:page_factory.py  
1from __future__ import absolute_import2from page_object.browser import Browser3def on(page, visit_page=False, url_params={}):4    """5    Creates PageObject with current instance of the selenium_browser.6    Args:7        page     (PageObject): PageObject class name.8        visit_page  (boolean): Navigate to page.9        url_params   (dictionary): url parameter object.10    Returns:11            New instance of page argument.12    """13    page_instance = page(Browser.selenium_browser())14    if hasattr(page_instance, 'define_elements'):15        page_instance.define_elements()16    if visit_page:17        page_instance.goto(url_params)18    if hasattr(page_instance, 'initialize_page'):19        page_instance.initialize_page()20    return page_instance21def visit(page, url_params={}):22    """23    Navigate to page url.24    Creates PageObject with current instance of the selenium_browser.25    Args:26        page     (PageObject): PageObject class name.27        url_params   (dictionary): url parameter object.28    Returns:29            New instance of page argument.30    """...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
