Skip to content

alerts don't work with PhantomJS ("No JSON object could be decoded") #1568

@d33tah

Description

@d33tah
(virtualenv)[ACL][18:24:12][/tmp]$ cat a.py 
#!/usr/bin/env python

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as ExpectedConditions

br = webdriver.PhantomJS()
#br = webdriver.Firefox()
br.get('https://login:password@gitlab.somedomain.net/u/d33tah')

wait = WebDriverWait(br, 10)
alert = wait.until(ExpectedConditions.alert_is_present())
alert.authenticate_using('login', 'password')
(virtualenv)[ACL][18:16:45][/tmp][127] $ python -m pdb a.py
> /tmp/a.py(3)<module>()
-> from selenium import webdriver
(Pdb) c
Traceback (most recent call last):
  File "/usr/lib64/python2.7/pdb.py", line 1314, in main
    pdb._runscript(mainpyfile)
  File "/usr/lib64/python2.7/pdb.py", line 1233, in _runscript
    self.run(statement)
  File "/usr/lib64/python2.7/bdb.py", line 400, in run
    exec cmd in globals, locals
  File "<string>", line 1, in <module>
  File "a.py", line 3, in <module>
    from selenium import webdriver
  File "/home/d/virtualenv/lib/python2.7/site-packages/selenium/webdriver/support/wait.py", line 71, in until
    value = method(self._driver)
  File "/home/d/virtualenv/lib/python2.7/site-packages/selenium/webdriver/support/expected_conditions.py", line 265, in __call__
    alert.text
  File "/home/d/virtualenv/lib/python2.7/site-packages/selenium/webdriver/common/alert.py", line 65, in text
    return self.driver.execute(Command.GET_ALERT_TEXT)["value"]
  File "/home/d/virtualenv/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 201, in execute
    self.error_handler.check_response(response)
  File "/home/d/virtualenv/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 102, in check_response
    value = json.loads(value_json)
  File "/usr/lib64/python2.7/json/__init__.py", line 338, in loads
    return _default_decoder.decode(s)
  File "/usr/lib64/python2.7/json/decoder.py", line 366, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib64/python2.7/json/decoder.py", line 384, in raw_decode
    raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
Uncaught exception. Entering post mortem debugging
Running 'cont' or 'step' will restart the program
> /usr/lib64/python2.7/json/decoder.py(384)raw_decode()
-> raise ValueError("No JSON object could be decoded")
(Pdb) up
> /usr/lib64/python2.7/json/decoder.py(366)decode()
-> obj, end = self.raw_decode(s, idx=_w(s, 0).end())
(Pdb) 
> /usr/lib64/python2.7/json/__init__.py(338)loads()
-> return _default_decoder.decode(s)
(Pdb) 
> /home/d/virtualenv/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py(102)check_response()
-> value = json.loads(value_json)
(Pdb) print value_json
Invalid Command Method - {"headers":{"Accept":"application/json","Accept-Encoding":"identity","Connection":"close","Content-Type":"application/json;charset=UTF-8","Host":"127.0.0.1:46638","User-Agent":"Python-urllib/2.7"},"httpVersion":"1.1","method":"GET","url":"/alert_text","urlParsed":{"anchor":"","query":"","file":"alert_text","directory":"/","path":"/alert_text","relative":"/alert_text","port":"","host":"","password":"","user":"","userInfo":"","authority":"","protocol":"","source":"/alert_text","queryKey":{},"chunks":["alert_text"]},"urlOriginal":"/session/6a2bc890-c83e-11e5-a348-a165cfeae898/alert_text"}

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-pyPython Bindings

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions