Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from selenium import webdriver
- from selenium.webdriver.chrome.options import Options
- import pycountry
- import json
- import re
- import sys
- import os
- import time
- import datetime
- import requests
- import base64
- import uuid
- from bs4 import BeautifulSoup
- import httplib2
- import selenium.webdriver
- username="email@gmail.com"
- password="parola"
- domain=".co.uk"
- address = {}
- address['name']="Martin Kondov"
- address['addr1']="Zeil 321"
- address['addr2']="Zimmer A41"
- address['city']="Frankfurt am Main"
- address['state']="Hessen"
- address['phone']="+4915859014428"
- product_to_order = "B01I3NX0RA"
- amazon_url = "https://amazon"+domain+"/gp/product/"+product_to_order
- #driver = webdriver.Chrome('/var/www/html/assets/autoorder/chromedriver') # Optional argument, if not specified will search path.
- chrome_options = Options()
- #chrome_options.add_argument("user-data-dir=C:/Users/user_name/AppData/Local/Google/Chrome/User Data");
- chrome_options.add_argument("--start-maximized")
- chrome_options.add_argument("--no-sandbox")
- driver = webdriver.Chrome('/var/www/html/assets/autoorder/chromedriver',chrome_options=chrome_options)
- driver.implicitly_wait(3)
- driver.get(amazon_url)
- logged_in = driver.find_elements_by_css_selector('#nav-link-yourAccount')
- login_status = False
- if "youraccount" in logged_in[0].get_attribute("href"):
- login_status = True
- if login_status==False:
- #LOGGING IN, DEFAULT
- not_logged_in = driver.find_elements_by_css_selector('#nav-link-yourAccount')
- driver.get(not_logged_in[0].get_attribute("href"))
- input_email = driver.find_elements_by_css_selector('input#ap_email')[0]
- input_pass = driver.find_elements_by_css_selector('input#ap_password')[0]
- input_email.send_keys(username)
- input_pass.send_keys(password)
- driver.find_elements_by_css_selector("input[name='rememberMe']")[0].click()
- driver.find_element_by_css_selector("#signInSubmit").click()
- if "!ap/cvf/request" in driver.current_url:
- verify_token = driver.find_elements_by_css_selector('input[name="verifyToken"]')[0].__getattribute__("value")
- driver.find_element_by_css_selector("#continue").click()
- if "!ap/cvf/verify" in driver.current_url:
- verify_token = driver.find_elements_by_css_selector('input[name="verifyToken"]')[0].__getattribute__("value")
- code_input = driver.find_elements_by_css_selector("input[name='code']")[0]
- driver.find_element_by_css_selector("input[type='submit']").click()
- #could be shown after verification
- if "signin" in driver.current_url:
- authError = driver.find_element_by_css_selector("#auth-error-message-box")
- errorMsg = authError.text()
- print(errorMsg)
- #return
- #ORDER ITEM
- driver.get(product_to_order)
- add_to_cart_btn = driver.find_elements_by_css_selector("input#add-to-cart-button")[0]
- add_to_cart_btn.click()
- add_to_cart_confirmation = driver.find_element_by_css_selector("div#huc-v2-order-row-container")
- assert add_to_cart_confirmation.is_displayed()
- #GO TO CART
- driver.get("https://www.amazon.de/gp/cart/view.html/ref=nav_cart")
- proceedToCheckout = driver.find_element_by_css_selector("input[name='proceedToCheckout']")
- gift_option = driver.find_element_by_css_selector("input#sc-buy-box-gift-checkbox")
- gift_option.click()
- proceedToCheckout.click()
- #ENTER ADDRESS
- enterAddressFullName = driver.find_element_by_css_selector("input[name='enterAddressFullName']")
- enterAddressAddressLine1 = driver.find_element_by_css_selector("input[name='enterAddressAddressLine1']")
- enterAddressAddressLine2 = driver.find_element_by_css_selector("input[name='enterAddressAddressLine2']")
- enterAddressCity = driver.find_element_by_css_selector("input[name='enterAddressCity']")
- enterAddressStateOrRegion = driver.find_element_by_css_selector("input[name='enterAddressStateOrRegion']")
- enterAddressPhoneNumber = driver.find_element_by_css_selector("input[name='enterAddressPhoneNumber']")
- enterAddressFullName.send_keys(address['name'])
- enterAddressAddressLine1.send_keys(address['addr1'])
- enterAddressAddressLine2.send_keys(address['addr2'])
- enterAddressCity.send_keys(address['city'])
- enterAddressStateOrRegion.send_keys(address['state'])
- enterAddressPhoneNumber.send_keys(address['phone'])
- #select enterAddressCountryCode
- business_hours = driver.find_element_by_css_selector("option[value='BOTH']")
- country = driver.find_element_by_css_selector("option[value='"+pycountry.countries.get(alpha_2='DE')+"']")
- business_hours.click()
- #country.click()
- sendToThisAddress = driver.find_element_by_css_selector("input[name='shipToThisAddress'")
- sendToThisAddress.click()
- #should be on gift page
- assert "buy/gift/handlers/display" in driver.current_url
- giftForms = driver.find_elements_by_css_selector("textarea[data-action='gift-form-element']")
- for gf in giftForms:
- gf.clear()
- hidePricesCheckbox = driver.find_element_by_css_selector("input[name=hidePrices]")
- saveGiftOptions = driver.find_element_by_css_selector("div.save-gift-button-box input[type='submit']")
- saveGiftOptions.click()
- #if item cannot be shipped
- if "buy/itemselect/handlers/display" in driver.current_url:
- pageError = driver.find_element_by_class_name("div.page-level-error")
- errorMsg = pageError.find_element_by_class_name("div.a-last").text()
- print(errorMsg)
- #return
- #should be on shipping options page
- assert "buy/shipoptionselect/handlers/display" in driver.current_url
- saveShippingOptions = driver.find_element_by_css_selector("div.save-sosp-button-box input[type='submit']")
- saveShippingOptions.click()
- assert "buy/payselect/handlers/display" in driver.current_url
- saveShippingOptions = driver.find_element_by_css_selector("input[id='continue-top']")
- #saveShippingOptions.click()
- driver.quit()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement