Skip to content

Commit

Permalink
initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
sritchie committed Jul 23, 2018
0 parents commit c2b7c15
Showing 6 changed files with 213 additions and 0 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
images/**/*
14 changes: 14 additions & 0 deletions background.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
chrome.runtime.onInstalled.addListener(function() {
chrome.declarativeContent.onPageChanged.removeRules(undefined, function() {
chrome.declarativeContent.onPageChanged.addRules([
{
conditions: [
new chrome.declarativeContent.PageStateMatcher({
pageUrl: { hostEquals: "developer.chrome.com" }
})
],
actions: [new chrome.declarativeContent.ShowPageAction()]
}
]);
});
});
147 changes: 147 additions & 0 deletions footlocker.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
//Set desired size
var sizeWanted = "10.0";

//Set billing details
var billCountry = "United States";
var billFirstName = "Samuel";
var billLastName = "Corso";
var billStreet1 = "106 Fulton Street #6G";
var billStreet2 = "";
var billZipcode = "10038";
var billCity = "New York";
var billState = "New York";
var billPhone = "3473082597";
var billEmail = "samcorso10@gmail.com";

//Set shipping details
var shipCountry = "United States";
var shipFirstName = "Samuel";
var shipLastName = "Corso";
var shipStreet1 = "106 Fulton Street #6G";
var shipStreet2 = "";
var shipZipcode = "10038";
var shipCity = "New York";
var shipState = "New York";
var shipPhone = "3473082597";

//Set expedited shipping
var expeditedShipping = false;

//Set payment details
var giftCard = false;
var cardNumber = "1234 5678 9012 3456";
var cardExpireDateMM = "01";
var cardExpireDateYY = "19";
var cardCCV = "123";

function selectSize() {
var sizesAvailable = document.getElementsByTagName("a");

for (var i = 0; i < sizesAvailable.length; i++) {
if (sizesAvailable[i].innerHTML == sizeWanted) {
sizesAvailable[i].click();
}
}

addToCart();
}

function addToCart() {
document.getElementById("pdp_addtocart_button").click();
navigateToCart();
}

function navigateToCart() {
document.getElementById("header_cart_button").click();
//navigateToCheckout();
}

function navigateToCheckout() {
document.getElementById("cart_checkout_button").click();
}

function fillBillingDetails() {
var billCountries = document
.getElementById("billCountry")
.getElementsByTagName("option");
for (var i = 0; i < billCountries.length; i++) {
if (billCountries[i].innerHTML === billCountry) {
document.getElementById("billCountry").selectedIndex = i;
}
}
document.getElementById("billFirstName").value = billFirstName;
document.getElementById("billLastName").value = billLastName;
document.getElementById("billAddress1").value = billStreet1;
document.getElementById("billAddress2").value = billStreet2;
document.getElementById("billPostalCode").value = billZipcode;
document.getElementById("billCity").value = billCity;
var billStates = document
.getElementById("billState")
.getElementsByTagName("option");
for (var i = 0; i < billStates.length; i++) {
if (billStates[i].innerHTML === billState) {
document.getElementById("billState").selectedIndex = i;
}
}
document.getElementById("billHomePhone").value = billPhone;
document.getElementById("billEmailAddress").value = billEmail;
}

function fillShippingDetails() {
if (shipFirstName.length > 1) {
document.getElementById("billPaneShipToBillingAddress").click();

var shipCountries = document
.getElementById("shipCountry")
.getElementsByTagName("option");
for (var i = 0; i < shipCountries.length; i++) {
if (shipCountries[i].innerHTML === shipCountry) {
document.getElementById("shipCountry").selectedIndex = i;
}
}
document.getElementById("shipFirstName").value = shipFirstName;
document.getElementById("shipLastName").value = shipLastName;
document.getElementById("shipAddress1").value = shipStreet1;
document.getElementById("shipAddress2").value = shipStreet2;
document.getElementById("shipPostalCode").value = shipZipcode;
document.getElementById("shipCity").value = shipCity;
var shipStates = document
.getElementById("shipState")
.getElementsByTagName("option");
for (var i = 0; i < shipStates.length; i++) {
if (shipStates[i].innerHTML === shipState) {
document.getElementById("shipState").selectedIndex = i;
}
}
document.getElementById("shipHomePhone").value = shipPhone;

document.getElementById("shipPaneContinue").click();
} else {
document.getElementById("billPaneContinue").click();
}
}

function selectShipping() {
if (expeditedShipping === false) {
document.getElementById("shipMethodPaneContinue").click();
}
}

function fillPaymentDetails() {
document.getElementById("promoCodePaneContinue").click();
if (giftCard === false) {
document.getElementById("CardNumber").value = cardNumber;
document.getElementById("CardExpireDateMM").value = cardExpireDateMM;
document.getElementById("CardExpireDateYY").value = cardExpireDateYY;
document.getElementById("CardCCV").value = cardCCV;

document.getElementById("payMethodPaneContinue").click();
}
}

selectSize();

//Check that cart is empty
if (document.getElementById("header_cart_count").innerHTML == "0") {
selectSize();
}
24 changes: 24 additions & 0 deletions manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"manifest_version": 2,
"name": "Sneaker Bot",
"description":
"This is a sneaker bot that currently works with Footlocker.com",
"version": "1.0",
"background": {
"scripts": ["background.js"],
"persistent": true
},
"browser_action": {
"default_icon": "/images/icon.png",
"default_popup": "popup.html"
},
"permissions": [
"https://*/*",
"http://*/*",
"tabs",
"activeTab",
"declarativeContent",
"storage",
"unlimitedStorage"
]
}
14 changes: 14 additions & 0 deletions popup.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<!doctype html>
<html>

<head>
<title>Sneaker Bot</title>
<script type="text/javascript" src="popup.js"></script>
</head>

<body>
<h1>Sneaker Bot</h1>
<button id="sizeButton">Select Size</button>
</body>

</html>
13 changes: 13 additions & 0 deletions popup.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
var sc = document.createElement("script");
sc.setAttribute("src", "footlocker.js");
sc.setAttribute("type", "text/javascript");
document.addEventListener("DOMContentLoaded", function() {
var sizeButton = document.getElementById("sizeButton");
sizeButton.onclick = function() {
chrome.tabs.query({ active: true, currentWindow: true }, function(tabs) {
chrome.tabs.executeScript(tabs[0].id, {
file: "footlocker.js"
});
});
};
});

0 comments on commit c2b7c15

Please sign in to comment.