alfred82santa / whalesong

Whalesong is an asyncio python library to manage WebApps remotely. Currently WhatsappWeb is implemented
https://whalesong.readthedocs.io
MIT License
50 stars 19 forks source link

selenium.common.exceptions.JavascriptException: Message: TypeError: e[o] is undefined #109

Closed victorriba closed 5 years ago

victorriba commented 5 years ago

Describe the bug File "whalesong/examples/driver/statemonitor.py", line 122, in monitor.loop.run_until_complete(monitor.start()) File "/usr/lib64/python3.6/asyncio/base_events.py", line 484, in run_until_complete return future.result() File "whalesong/examples/driver/statemonitor.py", line 101, in start await self.init() File "whalesong/examples/driver/statemonitor.py", line 28, in init await self._driver.connect() File "/usr/lib/python3.6/site-packages/whalesong/driver_firefox.py", line 108, in connect await self.run_scriptlet() File "/usr/lib/python3.6/site-packages/whalesong/driver.py", line 69, in run_scriptlet await self._internal_run_scriptlet(script.read()) File "/usr/lib/python3.6/site-packages/whalesong/driver_firefox.py", line 119, in _internal_run_scriptlet await self._run_async(self.driver.execute_script, script) File "/usr/lib/python3.6/site-packages/whalesong/driver_firefox.py", line 73, in _run_async return await self.loop.run_in_executor(self._pool_executor, partial(method, *args, *kwargs)) File "/usr/lib64/python3.6/concurrent/futures/thread.py", line 56, in run result = self.fn(self.args, **self.kwargs) File "/usr/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 636, in execute_script 'args': converted_args})['value'] File "/usr/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute self.error_handler.check_response(response) File "/usr/lib/python3.6/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.JavascriptException: Message: TypeError: e[o] is undefined

Additional context I have reinstall but show same problem with firefox and statemonitor, can help me please?

thanks

alfred82santa commented 5 years ago

Have you tried last version (0.9.1)?

victorriba commented 5 years ago

yes

victorriba commented 5 years ago

from asyncio import AbstractEventLoop from io import BytesIO

from .driver import BaseWhalesongDriver from .managers import BaseManager from .managers.chat import ChatCollectionManager from .managers.conn import ConnManager from .managers.contact import ContactCollectionManager from .managers.display_info import DisplayInfoManager from .managers.live_location import LiveLocationCollectionManager from .managers.message import MessageCollectionManager from .managers.mute import MuteCollectionManager from .managers.status import StatusCollectionManager from .managers.sticker_pack import StickerPackCollectionManager from .managers.storage import StorageManager from .managers.stream import StreamManager from .managers.status_v3 import StatusV3CollectionManager from .managers.wap import WapManager from .results import MonitorResult, Result

version = '0.9.1'

gladimaz commented 5 years ago

i have tried last version and have same problem

alfred82santa commented 5 years ago

Are you using code from repository or from pypi? It looks like you didn't rebuild js scriptlet (make build-js). I've tested it with Firefox and Chrome just now, and it works.

gladimaz commented 5 years ago

Yes, i am using code from repository. But i did rebuild (make build-js): Entrypoint main = whalesong.js [5] ./src/manager.js 20.9 KiB {0} [built] [29] ./src/whalesong/contact.js 8.29 KiB {0} [built] [35] ./src/errors.js 3.82 KiB {0} [built] [36] ./src/whalesong/message.js 11.2 KiB {0} [built] [72] ./src/whalesong/chat.js 44.9 KiB {0} [built] [73] ./src/whalesong/profilePicThumb.js 7.61 KiB {0} [built] [74] ./src/whalesong/status.js 5 KiB {0} [built] [75] ./src/whalesong/presence.js 7 KiB {0} [built] [76] ./src/whalesong/groupMetadata.js 17.3 KiB {0} [built] [77] ./src/whalesong/mute.js 12.7 KiB {0} [built] [78] ./src/whalesong/liveLocation.js 8.81 KiB {0} [built] [79] ./src/index.js 378 bytes {0} [built] [133] ./src/whalesong/index.js 10.5 KiB {0} [built] [138] ./src/whalesong/conn.js 4.54 KiB {0} [built] [139] ./src/whalesong/stream.js 5.56 KiB {0} [built]

alfred82santa commented 5 years ago

In master branch, this is my result:


$ make build-js
cd js && make build
make[1]: Entering directory './whalesong/js'
Building scriptlet...
npm run-script build

> whalesong@0.1.0 build ./whalesong/js
> webpack --config ./config/webpack.prod.js --mode production --output ../whalesong/js/whalesong.js

Hash: 68628d9bf16b3ca3d63b
Version: webpack 4.12.0
Time: 8293ms
Built at: 30/05/2019 11:45:32
       Asset     Size  Chunks             Chunk Names
whalesong.js  160 KiB       0  [emitted]  main
  [8] ./src/manager.js 20.9 KiB {0} [built]
 [23] ./src/whalesong/contact.js 8.29 KiB {0} [built]
 [58] ./src/whalesong/profilePicThumb.js 7.61 KiB {0} [built]
 [59] ./src/whalesong/chat.js 44.9 KiB {0} [built]
 [79] ./src/whalesong/statusV3.js 8.2 KiB {0} [built]
 [80] ./src/whalesong/displayInfo.js 5.71 KiB {0} [built]
 [81] ./src/whalesong/stickerPack.js 13.4 KiB {0} [built]
 [82] ./src/whalesong/storage.js 11.7 KiB {0} [built]
 [83] ./src/whalesong/uiController.js 1.28 KiB {0} [built]
 [84] ./src/whalesong/wap.js 6.21 KiB {0} [built]
 [85] ./src/whalesong/messageInfo.js 8 KiB {0} [built]
 [87] ./src/whalesong/stream.js 5.56 KiB {0} [built]
 [88] ./src/whalesong/conn.js 4.54 KiB {0} [built]
 [93] ./src/whalesong/index.js 10.5 KiB {0} [built]
[147] ./src/index.js 378 bytes {0} [built]
    + 133 hidden modules
make[1]: Leaving directory './whalesong/js'

$ PYTHONPATH=.:$PYTHONPATH python3 examples/statemonitor.py 
Monitor stream
Monitor state
Monitor ref
Monitor battery
Monitor storage
Stream: Stream.DISCONNECTED
State: State.UNPAIRED
gladimaz commented 5 years ago

Before i have to make requirements?

ma3xa@ma3xa-VirtualBox:~/Рабочий стол/whalesong-master_old$ sudo make requirements
[sudo] пароль для ma3xa: 
Installing whalesong requirements...
pip3 install -r requirements.txt
The directory '/home/ma3xa/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/home/ma3xa/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Requirement already satisfied: dirty-models in /home/ma3xa/.local/lib/python3.6/site-packages (from -r requirements.txt (line 1))
Requirement already satisfied: aiohttp in /home/ma3xa/.local/lib/python3.6/site-packages (from -r requirements.txt (line 2))
Requirement already satisfied: selenium>=3.4.3 in /home/ma3xa/.local/lib/python3.6/site-packages (from -r requirements.txt (line 3))
Requirement already satisfied: python-axolotl in /home/ma3xa/.local/lib/python3.6/site-packages (from -r requirements.txt (line 4))
Requirement already satisfied: cryptography in /home/ma3xa/.local/lib/python3.6/site-packages (from -r requirements.txt (line 5))
Requirement already satisfied: vobject in /home/ma3xa/.local/lib/python3.6/site-packages (from -r requirements.txt (line 6))
Requirement already satisfied: pyppeteer in /home/ma3xa/.local/lib/python3.6/site-packages (from -r requirements.txt (line 7))
Requirement already satisfied: websockets<7.0 in /home/ma3xa/.local/lib/python3.6/site-packages (from -r requirements.txt (line 8))
Requirement already satisfied: python-dateutil in /home/ma3xa/.local/lib/python3.6/site-packages (from dirty-models->-r requirements.txt (line 1))
Requirement already satisfied: multidict<5.0,>=4.0 in /home/ma3xa/.local/lib/python3.6/site-packages (from aiohttp->-r requirements.txt (line 2))
Requirement already satisfied: yarl<2.0,>=1.0 in /home/ma3xa/.local/lib/python3.6/site-packages (from aiohttp->-r requirements.txt (line 2))
Requirement already satisfied: async-timeout<4.0,>=3.0 in /home/ma3xa/.local/lib/python3.6/site-packages (from aiohttp->-r requirements.txt (line 2))
Requirement already satisfied: typing-extensions>=3.6.5; python_version < "3.7" in /home/ma3xa/.local/lib/python3.6/site-packages (from aiohttp->-r requirements.txt (line 2))
Requirement already satisfied: chardet<4.0,>=2.0 in /home/ma3xa/.local/lib/python3.6/site-packages (from aiohttp->-r requirements.txt (line 2))
Requirement already satisfied: idna-ssl>=1.0; python_version < "3.7" in /home/ma3xa/.local/lib/python3.6/site-packages (from aiohttp->-r requirements.txt (line 2))
Requirement already satisfied: attrs>=17.3.0 in /home/ma3xa/.local/lib/python3.6/site-packages (from aiohttp->-r requirements.txt (line 2))
Requirement already satisfied: urllib3 in /home/ma3xa/.local/lib/python3.6/site-packages (from selenium>=3.4.3->-r requirements.txt (line 3))
Requirement already satisfied: protobuf>=3.0.0.b2 in /home/ma3xa/.local/lib/python3.6/site-packages (from python-axolotl->-r requirements.txt (line 4))
Requirement already satisfied: python-axolotl-curve25519>=0.4.1 in /home/ma3xa/.local/lib/python3.6/site-packages (from python-axolotl->-r requirements.txt (line 4))
Requirement already satisfied: six>=1.4.1 in /home/ma3xa/.local/lib/python3.6/site-packages (from cryptography->-r requirements.txt (line 5))
Requirement already satisfied: asn1crypto>=0.21.0 in /home/ma3xa/.local/lib/python3.6/site-packages (from cryptography->-r requirements.txt (line 5))
Requirement already satisfied: cffi!=1.11.3,>=1.8 in /home/ma3xa/.local/lib/python3.6/site-packages (from cryptography->-r requirements.txt (line 5))
Requirement already satisfied: pyee in /home/ma3xa/.local/lib/python3.6/site-packages (from pyppeteer->-r requirements.txt (line 7))
Requirement already satisfied: appdirs in /home/ma3xa/.local/lib/python3.6/site-packages (from pyppeteer->-r requirements.txt (line 7))
Requirement already satisfied: tqdm in /home/ma3xa/.local/lib/python3.6/site-packages (from pyppeteer->-r requirements.txt (line 7))
Requirement already satisfied: idna>=2.0 in /home/ma3xa/.local/lib/python3.6/site-packages (from yarl<2.0,>=1.0->aiohttp->-r requirements.txt (line 2))
Requirement already satisfied: setuptools in /home/ma3xa/.local/lib/python3.6/site-packages (from protobuf>=3.0.0.b2->python-axolotl->-r requirements.txt (line 4))
Requirement already satisfied: pycparser in /home/ma3xa/.local/lib/python3.6/site-packages (from cffi!=1.11.3,>=1.8->cryptography->-r requirements.txt (line 5))
cd js && make requirements
make[1]: вход в каталог «/home/ma3xa/Рабочий стол/whalesong-master_old/js»
Installing whalesongjs requirements...
npm install --devDependencies
npm WARN optional Skipping failed optional dependency /chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture: fsevents@1.2.9
npm WARN @babel/plugin-syntax-class-properties@7.2.0 requires a peer of @babel/core@^7.0.0-0 but none was installed.
npm WARN whalesong@0.1.0 No repository field.
make[1]: выход из каталога «/home/ma3xa/Рабочий стол/whalesong-master_old/js»

and make build-js

ma3xa@ma3xa-VirtualBox:~/Рабочий стол/whalesong-master_old$ make build-js cd js && make build make[1]: вход в каталог «/home/ma3xa/Рабочий стол/whalesong-master_old/js» Building scriptlet... npm run-script build

whalesong@0.1.0 build /home/ma3xa/Рабочий стол/whalesong-master_old/js webpack --config ./config/webpack.prod.js --mode production --output ../whalesong/js/whalesong.js

Hash: 8f2c0df4f80307d7657f Version: webpack 4.32.2 Time: 4587ms Built at: 30.05.2019 20:16:17 Asset Size Chunks Chunk Names whalesong.js 160 KiB 0 [emitted] main Entrypoint main = whalesong.js [5] ./src/manager.js 20.9 KiB {0} [built] [29] ./src/whalesong/contact.js 8.29 KiB {0} [built] [35] ./src/errors.js 3.82 KiB {0} [built] [36] ./src/whalesong/message.js 11.2 KiB {0} [built] [72] ./src/whalesong/chat.js 44.9 KiB {0} [built] [73] ./src/whalesong/profilePicThumb.js 7.61 KiB {0} [built] [74] ./src/whalesong/status.js 5 KiB {0} [built] [75] ./src/whalesong/presence.js 7 KiB {0} [built] [76] ./src/whalesong/groupMetadata.js 17.3 KiB {0} [built] [77] ./src/whalesong/mute.js 12.7 KiB {0} [built] [78] ./src/whalesong/liveLocation.js 8.81 KiB {0} [built] [79] ./src/index.js 378 bytes {0} [built] [133] ./src/whalesong/index.js 10.5 KiB {0} [built] [138] ./src/whalesong/conn.js 4.54 KiB {0} [built] [139] ./src/whalesong/stream.js 5.56 KiB {0} [built]

  • 133 hidden modules make[1]: выход из каталога «/home/ma3xa/Рабочий стол/whalesong-master_old/js»
alfred82santa commented 5 years ago

and how do you execute example?

gladimaz commented 5 years ago
ma3xa@ma3xa-VirtualBox:~/Рабочий стол/whalesong-master_old/examples$ python3 minibot.py
Traceback (most recent call last):
  File "minibot.py", line 238, in <module>
    bot.loop.run_until_complete(bot.start())
  File "/usr/lib/python3.6/asyncio/base_events.py", line 473, in run_until_complete
    return future.result()
  File "minibot.py", line 225, in start
    await self._driver.start()
  File "/home/ma3xa/.local/lib/python3.6/site-packages/whalesong/__init__.py", line 96, in start
    await self._driver.connect()
  File "/home/ma3xa/.local/lib/python3.6/site-packages/whalesong/driver_firefox.py", line 108, in connect
    await self.run_scriptlet()
  File "/home/ma3xa/.local/lib/python3.6/site-packages/whalesong/driver.py", line 69, in run_scriptlet
    await self._internal_run_scriptlet(script.read())
  File "/home/ma3xa/.local/lib/python3.6/site-packages/whalesong/driver_firefox.py", line 119, in _internal_run_scriptlet
    await self._run_async(self.driver.execute_script, script)
  File "/home/ma3xa/.local/lib/python3.6/site-packages/whalesong/driver_firefox.py", line 73, in _run_async
    return await self.loop.run_in_executor(self._pool_executor, partial(method, *args, **kwargs))
  File "/usr/lib/python3.6/concurrent/futures/thread.py", line 56, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/home/ma3xa/.local/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 636, in execute_script
    'args': converted_args})['value']
  File "/home/ma3xa/.local/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "/home/ma3xa/.local/lib/python3.6/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.JavascriptException: Message: TypeError: e[o] is undefined
alfred82santa commented 5 years ago

Well, I guess you have an old version installed... try to execute: pip3 freeze. You will see an old whalesong version installed. To be sure you use version from repository you must set PYTHONPATH:

$ PYTHONPATH=.:$PYTHONPATH python3 examples/statemonitor.py 
gladimaz commented 5 years ago

it is pip3 freeze

ma3xa@ma3xa-VirtualBox:~$ pip3 freeze
aiohttp==3.5.4
apixu==0.1.1
appdirs==1.4.3
apturl==0.5.2
asn1crypto==0.24.0
async-timeout==3.0.1
attrs==19.1.0
beautifulsoup4==4.7.1
Brlapi==0.6.6
cachetools==3.1.0
certifi==2019.3.9
cffi==1.12.3
chardet==3.0.4
Click==7.0
command-not-found==0.3
cryptography==2.6.1
cupshelpers==1.0
defer==1.0.6
dialogflow==0.6.0
dirty-models==0.11.2
distro-info==0.18
Flask==1.0.2
freeze==1.0.10
google-api-core==1.11.0
google-auth==1.6.3
googleapis-common-protos==1.5.10
grpcio==1.20.1
httplib2==0.9.2
idna==2.8
idna-ssl==1.1.0
itsdangerous==1.1.0
Jinja2==2.10.1
keyring==10.6.0
keyrings.alt==3.0
language-selector==0.1
launchpadlib==1.10.6
lazr.restfulclient==0.13.5
lazr.uri==1.0.3
louis==3.5.0
lxml==4.3.3
macaroonbakery==1.1.3
Mako==1.0.7
MarkupSafe==1.1.1
multidict==4.5.2
netifaces==0.10.4
node==0.9.23
npm==0.1.1
oauth==1.0.1
odict==1.6.2
olefile==0.45.1
optional-django==0.1.0
pexpect==4.2.1
Pillow==5.1.0
plumber==1.5
protobuf==3.8.0
pyasn1==0.4.5
pyasn1-modules==0.2.5
pycairo==1.16.2
pycparser==2.19
pycrypto==2.6.1
pycups==1.9.73
pyee==6.0.0
pygobject==3.26.1
pymacaroons==0.13.0
pymystem3==0.2.0
PyNaCl==1.1.2
pyppeteer==0.0.25
pyRFC3339==1.0
python-apt==1.6.2
python-axolotl==0.2.3
python-axolotl-curve25519==0.4.1.post2
python-dateutil==2.8.0
python-debian==0.1.32
pytz==2019.1
pyxdg==0.25
PyYAML==3.12
reportlab==3.4.0
requests==2.22.0
requests-unixsocket==0.1.5
rsa==4.0
rupostagger==0.0.9
rusyllab==0.0.3
rutokenizer==0.0.14
ruword2tags==0.0.33
SecretStorage==2.3.1
selenium==3.141.0
simplejson==3.13.2
six==1.12.0
soupsieve==1.9.1
system-service==0.3
systemd-python==234
tqdm==4.32.1
typing-extensions==3.7.2
ubuntu-drivers-common==0.0.0
ufw==0.35
unattended-upgrades==0.1
urllib3==1.25.3
usb-creator==0.3.3
virtualenv==16.6.0
vobject==0.9.6.1
wadllib==1.3.2
websockets==6.0
webwhatsapi==2.0.5
Werkzeug==0.15.4
whalesong==0.9.1
xkit==0.0.0
yarl==1.3.0
zope.component==4.5
zope.deferredimport==4.3
zope.deprecation==4.4.0
zope.event==4.4
zope.hookable==4.2.0
zope.interface==4.6.0
zope.lifecycleevent==4.3
zope.proxy==4.3.1
alfred82santa commented 5 years ago

mmm it could be another problem... try to execute example as I said, please

gladimaz commented 5 years ago
ma3xa@ma3xa-VirtualBox:~$ PYTHONPATH=.:$PYTHONPATH python3 /home/ma3xa/statemonitor.py
Traceback (most recent call last):
  File "/home/ma3xa/statemonitor.py", line 110, in <module>
    monitor.loop.run_until_complete(monitor.start())
  File "/usr/lib/python3.6/asyncio/base_events.py", line 473, in run_until_complete
    return future.result()
  File "/home/ma3xa/statemonitor.py", line 90, in start
    await self._driver.start()
  File "/home/ma3xa/.local/lib/python3.6/site-packages/whalesong/__init__.py", line 96, in start
    await self._driver.connect()
  File "/home/ma3xa/.local/lib/python3.6/site-packages/whalesong/driver_firefox.py", line 108, in connect
    await self.run_scriptlet()
  File "/home/ma3xa/.local/lib/python3.6/site-packages/whalesong/driver.py", line 69, in run_scriptlet
    await self._internal_run_scriptlet(script.read())
  File "/home/ma3xa/.local/lib/python3.6/site-packages/whalesong/driver_firefox.py", line 119, in _internal_run_scriptlet
    await self._run_async(self.driver.execute_script, script)
  File "/home/ma3xa/.local/lib/python3.6/site-packages/whalesong/driver_firefox.py", line 73, in _run_async
    return await self.loop.run_in_executor(self._pool_executor, partial(method, *args, **kwargs))
  File "/usr/lib/python3.6/concurrent/futures/thread.py", line 56, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/home/ma3xa/.local/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 636, in execute_script
    'args': converted_args})['value']
  File "/home/ma3xa/.local/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "/home/ma3xa/.local/lib/python3.6/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.JavascriptException: Message: TypeError: e[o] is undefined
alfred82santa commented 5 years ago

you are using installed whalesong: /home/ma3xa/.local/lib/python3.6/site-packages/whalesong

$ cd ~/Рабочий стол/whalesong-master_old
$ PYTHONPATH=.:$PYTHONPATH python3 examples/statemonitor.py 
victorriba commented 5 years ago

it work thanks $ cd whalesong $ pip3 install -r requirements.txt $ cd js && make requirements $ make build-js $ PYTHONPATH=.:$PYTHONPATH python3 examples/statemonitor.py

gladimaz commented 5 years ago

it works for me too, thanks you