-
Notifications
You must be signed in to change notification settings - Fork 0
/
SeleniumFramework.R
92 lines (86 loc) · 2.56 KB
/
SeleniumFramework.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
library("RSelenium")
library("wdman")
# Disabling pop - up box and choosing default download directory
capb <- list(chromeOptions =
list(
"useAutomationExtension" = FALSE,
prefs =
list ("download.default_directory" = "C:\\Main\\Sub\\MyFolder")
))
# Specifying the chrome driver version according to the chrome version you have
my_driver <-
rsDriver(
browser = c("chrome"),
chromever = "75.0.3770.140",
extraCapabilities = capb
)
rem_driver <- my_driver[["client"]]
rem_driver$open()
Sys.sleep(5)
# Navigate to quandl website
rem_driver$navigate("https://www.quandl.com/sign-up-modal")
# Send username
user <-
rem_driver$findElement(using = "id", value = "ember128")
Sys.sleep(2)
user$clearElement()
Sys.sleep(2)
user$sendKeysToElement(list("youremail@email.com"))
Sys.sleep(2)
# Send password
pwd <-
rem_driver$findElement(using = "id", value = "ember130")
Sys.sleep(2)
pwd$clearElement()
Sys.sleep(2)
pwd$sendKeysToElement(list("********", "\uE007"))
Sys.sleep(10)
# Navigate to the dataset page
rem_driver$navigate(
"https://www.quandl.com/data/CHRIS/MGEX_IH1-Minneapolis-HRWI-Hard-Red-Wheat-Futures-Continuous-Contract-1-IH1-Front-Month"
)
Sys.sleep(4)
# Click download button
download <-
rem_driver$findElement(using = "css", "#ember64 > span")
download$clickElement()
Sys.sleep(4)
# Choose file format to download
format <-
rem_driver$findElement(using = "css",
"#ember65 > a.b-select-content__link.qa-dataset-download-item-csv")
format$clickElement()
Sys.sleep(10)
# Close server and browser windows
rem_driver$close()
my_driver$server$stop()
my_driver$server$process
# Download folder (as set up above in preferences) and file name (set up on vendor website)
down_loc <-
"C:\\Main\\Sub\\MyFolder"
down_file <-
paste0(down_loc, "\\", "CHRIS-MGEX_IH1.csv")
# Read downloaded file
down_data <-
read.csv(
file = down_file,
header = FALSE,
sep = ",",
stringsAsFactors = FALSE
)
Sys.sleep(5)
# Appending current date as a column to the dataset to keep a track of load date
down_data$DateLoaded <- Sys.Date()
library('odbc')
# Connecting to my DB
con <- dbConnect(odbc(), "My_Database")
# Sending dataframe to my table in DB
dbSendQuery(conn = con, "truncate table My_Table")
Sys.sleep(2)
dbWriteTable(conn = con,
"My_Table",
value = down_data,
append = TRUE)
Sys.sleep(5)
# Deleting downloaded file
file.remove(down_file)