Пример #1
0
 def detect_no_deliveries(self):
     try:
         get_browser(merchant=MERCHANT_NAME).find_element_by_css_selector(
             'img[alt="All delivery windows are full"]')
         return True
     except:
         return False
Пример #2
0
 def detect_delivery_times(self):
     header = find_by_text(
         get_browser(merchant=MERCHANT_NAME),
         "Available Scheduled Times",
     )[0]
     section = get_parent(get_parent(header))
     return pd.DataFrame(self.parse_delivery_times(section.text))
Пример #3
0
 def run(self):
     buttons = find_by_text(
         get_browser(merchant=MERCHANT_NAME),
         "Got it, Thanks",
     )
     if len(buttons) > 0:
         buttons[0].click()
         sleep(2)
Пример #4
0
 def detect_load_more_times_button(self):
     while True:
         try:
             button = get_browser(
                 merchant=MERCHANT_NAME).find_element_by_xpath(
                     '//button[text()="More times"]')
             button.click()
             sleep(5)
         except NoSuchElementException:
             return
Пример #5
0
 def exists(self):
     browser = get_browser(merchant=self.merchant_name)
     return ((len(find_by_text(
         browser,
         "Info",
     )) > 0)
             & (len(find_by_text(
                 browser,
                 "Delivery times",
             )) > 0)
             & (len(find_by_text(
                 browser,
                 "Pickup times",
             )) > 0))
Пример #6
0
 def run(self):
     browser = get_browser(merchant=MERCHANT_NAME)
     email_form = browser.find_element_by_id(
         "nextgen-authenticate.all.log_in_email")
     # TODO: get email from task param
     email_form.send_keys(os.environ["EMAIL"])
     sleep(5)
     password_form = browser.find_element_by_id(
         "nextgen-authenticate.all.log_in_password")
     # TODO: get password from task param
     password_form.send_keys(os.environ["PASSWORD"])
     sleep(5)
     buttons = browser.find_elements_by_css_selector("button")
     login_button = buttons[2]
     login_button.click()
     sleep(14)  # TODO: random delays
Пример #7
0
 def exists(self):
     browser = get_browser(merchant=self.merchant_name)
     return (browser.current_url ==
             "https://www.instacart.com/store/wegmans/storefront")
Пример #8
0
 def exists(self):
     browser = get_browser(merchant=self.merchant_name)
     # The trial prompt is not displayed
     return len(find_by_text(browser, "Got it, Thanks")) == 0
Пример #9
0
 def exists(self):
     browser = get_browser(merchant=self.merchant_name)
     # A log out button exists
     return len(find_by_text(browser, "Log Out")) > 0
Пример #10
0
 def exists(self):
     browser = get_browser(merchant=self.merchant_name)
     return (len(find_by_text(
         browser,
         "Welcome back",
     )) > 0 and len(find_by_text(browser, "Log in")) > 0)
Пример #11
0
 def exists(self):
     browser = get_browser(merchant=self.merchant_name)
     return (len(find_by_text(
         browser,
         "Already have an account?",
     )) > 0 and len(find_by_text(browser, "Log in")) > 0)
Пример #12
0
 def exists(self):
     browser = get_browser(merchant=self.merchant_name)
     return browser.current_url == "https://www.instacart.com/"
Пример #13
0
 def run(self):
     find_by_text(
         get_browser(merchant=MERCHANT_NAME),
         "Delivery times",
     )[0].click()
     sleep(8)
Пример #14
0
 def run(self):
     get_browser(merchant=MERCHANT_NAME).get(
         "https://www.instacart.com/store/wegmans/storefront")
     sleep(14)
Пример #15
0
 def run(self):
     buttons = get_browser(
         merchant=MERCHANT_NAME).find_elements_by_css_selector("button")
     login_button = buttons[0]
     login_button.click()
     sleep(5)
Пример #16
0
 def run(self):
     get_browser(merchant=MERCHANT_NAME).get("https://instacart.com")
     sleep(5)
Пример #17
0
 def exists(self):
     browser = get_browser(merchant=self.merchant_name)
     return len(find_by_text(
         browser,
         "Available Scheduled Times",
     )) > 0
Пример #18
0
 def run(self):
     cart_button = get_browser(
         merchant=MERCHANT_NAME).find_element_by_css_selector(
             'a[href="/wegmans/info?tab=info"]')
     cart_button.click()
     sleep(7)