Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PhantomJS 1.8 with Selenium on python. How to block images?

Is there a way to configure PhantomJS webdriver on Selenium to do not load images? I know if I use phantomjs directly, I can start it with --load-images=no and it won't load the images, but how can I configure that via Selenium and Python?

UPDATE Tried the following:

args = {
    'desired_capabilities': {
         'loadImages': False
     }
}
driver = webdriver.PhantomJS(**args)

No success...

like image 264
Vinicius Lima Avatar asked Mar 12 '13 20:03

Vinicius Lima


2 Answers

Why are you not trying webdriver.PhantomJS(service_args=['--load-images=no']) ?

like image 129
redice Avatar answered Nov 08 '22 06:11

redice


EDIT: passing arguments is exposed, see the same answer mentioned below for how to do it

Passing arguments to phantomjs is not currently exposed with selenium's webdriver's init ... I have worked around that by monkey patching the PhantomJS executer. Check that answer changing service_args to the following:

service_args += [
    '--load-images=no',
]

You could also opt to start the phantomjs server yourself, and just use the following call to point to an already running phantomjs at port 8080

# init the webdriver
self.driver = webdriver.PhantomJS(port=8080)
like image 44
Pykler Avatar answered Nov 08 '22 06:11

Pykler