|
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