surik00

Phantom JS custom headers + proxy

Apr 24th, 2018
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.22 KB | None | 0 0
  1. from selenium import webdriver
  2.  
  3.  
  4. PHANTOMJS_DRIVER = '/home/dwn/phantomjs-2.1.1-linux-x86_64/bin/phantomjs'
  5.  
  6.  
  7. def main(headers=None, proxy=False):
  8.     if headers is None:
  9.         headers = {
  10.             'User-Agent': 'Test Chrome Headless (KHTML like Gecko)',
  11.             'Referer': 'https://youtube.com/testvideo',
  12.         }
  13.     assert isinstance(headers, dict)
  14.  
  15.     capabilities = webdriver.DesiredCapabilities.PHANTOMJS.copy()
  16.     capabilities['platform'] = "WINDOWS"
  17.     capabilities['version'] = "10"
  18.     capabilities['browserName'] = 'Test browserName'
  19.  
  20.     for key in headers:
  21.         capabilities['phantomjs.page.customHeaders.{}'.format(key)] = headers[key]
  22.  
  23.     if proxy:
  24.         webdriver.DesiredCapabilities.PHANTOMJS['proxy'] = {
  25.             "httpProxy": proxy,
  26.             "ftpProxy": proxy,
  27.             "sslProxy": proxy,
  28.             "noProxy": None,
  29.             "proxyType": "MANUAL",
  30.             "class": "org.openqa.selenium.Proxy",
  31.             "autodetect": False
  32.         }
  33.  
  34.     driver = webdriver.PhantomJS(PHANTOMJS_DRIVER, desired_capabilities=capabilities)
  35.     driver.get('http://httpbin.org/get')
  36.  
  37.     print(driver.page_source)
  38.  
  39.     driver.close()
  40.  
  41.  
  42. if __name__ == '__main__':
  43.     main()
Advertisement
Add Comment
Please, Sign In to add comment