Beispiel #1
0
 def get_tracking_info_logged_in(
         self, amazon_url: str,
         to_email: str) -> List[Tuple[str, Optional[str]]]:
     email_user = to_email.split("@")[0].lower()
     profile_base = self.config["profileBase"]
     driver = None
     for profile_name in os.listdir(os.path.expanduser(profile_base)):
         if email_user in profile_name.lower():
             dc = DriverCreator()
             dc.args.no_headless = True
             driver = dc.new(
                 f"{os.path.expanduser(profile_base)}/{profile_name}")
             break
     if driver is None:
         tqdm.write(
             f"Couldn't find profile directory for email: {to_email}")
         return []
     try:
         driver.get(amazon_url)
         shipment_eles = driver.find_elements_by_css_selector(
             "div.a-section-expander-container")
         if len(shipment_eles) == 0:
             return self.get_trackings_within_shipment(
                 driver,
                 driver.find_element_by_css_selector(
                     "div.a-col-left div.a-color-offset-background span.a-color-base"
                 ).text.strip())
         else:
             trackings = []
             for shipment_ele in shipment_eles:
                 delivery_status = shipment_ele.find_element_by_css_selector(
                     "span.a-color-base").text.strip()
                 shipment_ele.click()
                 trackings.extend(
                     self.get_trackings_within_shipment(
                         shipment_ele, delivery_status))
             return trackings
     finally:
         driver.quit()
def new_driver(profile_base: str, profile_name: str) -> WebDriver:
    dc = DriverCreator()
    dc.args.no_headless = True
    return dc.new(f"{os.path.expanduser(profile_base)}/{profile_name}")