| 
53 | 53 |   },  | 
54 | 54 |   {  | 
55 | 55 |    "cell_type": "code",  | 
56 |  | -   "execution_count": 7,  | 
 | 56 | +   "execution_count": 1,  | 
57 | 57 |    "metadata": {},  | 
58 | 58 |    "outputs": [  | 
59 | 59 |     {  | 
60 | 60 |      "name": "stdout",  | 
61 | 61 |      "output_type": "stream",  | 
62 | 62 |      "text": [  | 
63 |  | -      "[{'domain': '.pythonscraping.com', 'expires': 'Sat, 27 Jan 2018 21:46:48 GMT', 'expiry': 1517089608, 'httponly': False, 'name': '_gat', 'path': '/', 'secure': False, 'value': '1'}, {'domain': '.pythonscraping.com', 'expires': 'Sun, 28 Jan 2018 21:45:48 GMT', 'expiry': 1517175948, 'httponly': False, 'name': '_gid', 'path': '/', 'secure': False, 'value': 'GA1.2.1903552212.1517089549'}, {'domain': '.pythonscraping.com', 'expires': 'Mon, 27 Jan 2020 21:45:48 GMT', 'expiry': 1580161548, 'httponly': False, 'name': '_ga', 'path': '/', 'secure': False, 'value': 'GA1.2.1362930272.1517089549'}, {'domain': 'pythonscraping.com', 'httponly': False, 'name': 'has_js', 'path': '/', 'secure': False, 'value': '1'}]\n"  | 
 | 63 | +      "[{'domain': '.pythonscraping.com', 'expiry': 1540863803, 'httpOnly': False, 'name': '_gid', 'path': '/', 'secure': False, 'value': 'GA1.2.358315088.1540777403'}, {'domain': '.pythonscraping.com', 'expiry': 1603849403, 'httpOnly': False, 'name': '_ga', 'path': '/', 'secure': False, 'value': 'GA1.2.1302028449.1540777403'}, {'domain': '.pythonscraping.com', 'expiry': 1540777463, 'httpOnly': False, 'name': '_gat', 'path': '/', 'secure': False, 'value': '1'}, {'domain': 'pythonscraping.com', 'httpOnly': False, 'name': 'has_js', 'path': '/', 'secure': False, 'value': '1'}]\n"  | 
64 | 64 |      ]  | 
65 | 65 |     }  | 
66 | 66 |    ],  | 
67 | 67 |    "source": [  | 
68 | 68 |     "from selenium import webdriver\n",  | 
69 |  | -    "driver = webdriver.PhantomJS(executable_path='drivers/phantomjs/phantomjs-2.1.1-macosx/bin/phantomjs')\n",  | 
 | 69 | +    "from selenium.webdriver.chrome.options import Options\n",  | 
 | 70 | +    "chrome_options = Options()\n",  | 
 | 71 | +    "chrome_options.add_argument(\"--headless\")\n",  | 
 | 72 | +    "driver = webdriver.Chrome(\n",  | 
 | 73 | +    "    executable_path='drivers/chromedriver', \n",  | 
 | 74 | +    "    chrome_options=chrome_options)\n",  | 
70 | 75 |     "driver.get('http://pythonscraping.com')\n",  | 
71 | 76 |     "driver.implicitly_wait(1)\n",  | 
72 | 77 |     "print(driver.get_cookies())"  | 
73 | 78 |    ]  | 
74 | 79 |   },  | 
75 | 80 |   {  | 
76 | 81 |    "cell_type": "code",  | 
77 |  | -   "execution_count": 12,  | 
 | 82 | +   "execution_count": 6,  | 
78 | 83 |    "metadata": {},  | 
79 | 84 |    "outputs": [  | 
80 | 85 |     {  | 
81 | 86 |      "name": "stdout",  | 
82 | 87 |      "output_type": "stream",  | 
83 | 88 |      "text": [  | 
84 |  | -      "[{'domain': '.pythonscraping.com', 'expires': 'Sun, 28 Jan 2018 21:51:09 GMT', 'expiry': 1517176269, 'httponly': False, 'name': '_gid', 'path': '/', 'secure': False, 'value': 'GA1.2.2130634883.1517089865'}, {'domain': '.pythonscraping.com', 'expires': 'Mon, 27 Jan 2020 21:51:09 GMT', 'expiry': 1580161869, 'httponly': False, 'name': '_ga', 'path': '/', 'secure': False, 'value': 'GA1.2.1559626153.1517089865'}, {'domain': 'pythonscraping.com', 'httponly': False, 'name': 'has_js', 'path': '/', 'secure': False, 'value': '1'}, {'domain': '.pythonscraping.com', 'httponly': False, 'name': 'has_js', 'path': '/', 'secure': False, 'value': '1'}, {'domain': '.pythonscraping.com', 'expires': 'Sat, 27 Jan 2018 21:52:05 GMT', 'expiry': 1517107925, 'httponly': False, 'name': '_gat', 'path': '/', 'secure': False, 'value': '1'}]\n"  | 
 | 89 | +      "[{'domain': '.pythonscraping.com', 'expiry': 1540864964, 'httpOnly': False, 'name': '_gid', 'path': '/', 'secure': False, 'value': 'GA1.2.819982224.1540778565'}, {'domain': '.pythonscraping.com', 'expiry': 1603850564, 'httpOnly': False, 'name': '_ga', 'path': '/', 'secure': False, 'value': 'GA1.2.864755518.1540778565'}, {'domain': '.pythonscraping.com', 'expiry': 1540778624, 'httpOnly': False, 'name': '_gat', 'path': '/', 'secure': False, 'value': '1'}, {'domain': 'pythonscraping.com', 'httpOnly': False, 'name': 'has_js', 'path': '/', 'secure': False, 'value': '1'}]\n",  | 
 | 90 | +      "[{'domain': 'pythonscraping.com', 'httpOnly': False, 'name': 'has_js', 'path': '/', 'secure': False, 'value': '1'}, {'domain': '.pythonscraping.com', 'expiry': 1540778624, 'httpOnly': False, 'name': '_gat', 'path': '/', 'secure': False, 'value': '1'}, {'domain': '.pythonscraping.com', 'expiry': 1603850569, 'httpOnly': False, 'name': '_ga', 'path': '/', 'secure': False, 'value': 'GA1.2.864755518.1540778565'}, {'domain': '.pythonscraping.com', 'expiry': 1540864969, 'httpOnly': False, 'name': '_gid', 'path': '/', 'secure': False, 'value': 'GA1.2.819982224.1540778565'}]\n"  | 
85 | 91 |      ]  | 
86 | 92 |     }  | 
87 | 93 |    ],  | 
88 | 94 |    "source": [  | 
89 | 95 |     "from selenium import webdriver\n",  | 
 | 96 | +    "from selenium.webdriver.chrome.options import Options\n",  | 
 | 97 | +    "\n",  | 
 | 98 | +    "chrome_options = Options()\n",  | 
 | 99 | +    "chrome_options.add_argument(\"--headless\")\n",  | 
90 | 100 |     "\n",  | 
91 |  | -    "phantomPath = 'drivers/phantomjs/phantomjs-2.1.1-macosx/bin/phantomjs'\n",  | 
92 |  | -    "driver = webdriver.PhantomJS(executable_path=phantomPath)\n",  | 
 | 101 | +    "driver = webdriver.Chrome(\n",  | 
 | 102 | +    "    executable_path='drivers/chromedriver', \n",  | 
 | 103 | +    "    chrome_options=chrome_options)\n",  | 
93 | 104 |     "driver.get('http://pythonscraping.com')\n",  | 
94 | 105 |     "driver.implicitly_wait(1)\n",  | 
95 | 106 |     "\n",  | 
96 | 107 |     "savedCookies = driver.get_cookies()\n",  | 
97 | 108 |     "print(savedCookies)\n",  | 
98 | 109 |     "\n",  | 
99 |  | -    "driver2 = webdriver.PhantomJS(executable_path=phantomPath)\n",  | 
 | 110 | +    "driver2 = webdriver.Chrome(\n",  | 
 | 111 | +    "    executable_path='drivers/chromedriver',\n",  | 
 | 112 | +    "    chrome_options=chrome_options)\n",  | 
 | 113 | +    "\n",  | 
100 | 114 |     "driver2.get('http://pythonscraping.com')\n",  | 
101 | 115 |     "driver2.delete_all_cookies()\n",  | 
102 | 116 |     "for cookie in savedCookies:\n",  | 
103 |  | -    "    if not cookie['domain'].startswith('.'):\n",  | 
104 |  | -    "        cookie['domain'] = '.{}'.format(cookie['domain'])\n",  | 
105 | 117 |     "    driver2.add_cookie(cookie)\n",  | 
106 | 118 |     "\n",  | 
107 | 119 |     "driver2.get('http://pythonscraping.com')\n",  | 
 | 
111 | 123 |   },  | 
112 | 124 |   {  | 
113 | 125 |    "cell_type": "code",  | 
114 |  | -   "execution_count": 13,  | 
 | 126 | +   "execution_count": 5,  | 
115 | 127 |    "metadata": {},  | 
116 | 128 |    "outputs": [  | 
117 | 129 |     {  | 
 | 
127 | 139 |    "source": [  | 
128 | 140 |     "from selenium import webdriver\n",  | 
129 | 141 |     "from selenium.webdriver.remote.webelement import WebElement\n",  | 
 | 142 | +    "from selenium.webdriver.chrome.options import Options\n",  | 
130 | 143 |     "\n",  | 
131 |  | -    "driver = webdriver.PhantomJS(\n",  | 
132 |  | -    "    executable_path='drivers/phantomjs/phantomjs-2.1.1-macosx/bin/phantomjs')\n",  | 
 | 144 | +    "driver = webdriver.Chrome(\n",  | 
 | 145 | +    "    executable_path='drivers/chromedriver',\n",  | 
 | 146 | +    "    chrome_options=chrome_options)\n",  | 
133 | 147 |     "driver.get('http://pythonscraping.com/pages/itsatrap.html')\n",  | 
134 | 148 |     "links = driver.find_elements_by_tag_name('a')\n",  | 
135 | 149 |     "for link in links:\n",  | 
 | 
0 commit comments