seleniumbase / SeleniumBase

📊 Python's all-in-one framework for web crawling, scraping, testing, and reporting. Supports pytest. UC Mode provides stealth. Includes many tools.
https://seleniumbase.io
MIT License
4.46k stars 910 forks source link

recorder is not working #2643

Closed manojs1978 closed 3 months ago

manojs1978 commented 3 months ago

when we run below command recorder is not launching

command : sbase mkrec new_test.py or sbase recorder or seleniumbase recorder

Error:

(seleniumbase) manoj@manoj:~///SeleniumBase$ sbase recorder Traceback (most recent call last): File "/home/manoj/.local/bin/sbase", line 33, in sys.exit(load_entry_point('seleniumbase', 'console_scripts', 'sbase')()) File "/home/manoj///SeleniumBase/seleniumbase/console_scripts/run.py", line 1043, in main from seleniumbase.console_scripts import sb_recorder File "/home/manoj///SeleniumBase/seleniumbase/console_scripts/sb_recorder.py", line 36, in import tkinter as tk # noqa: E402 ModuleNotFoundError: No module named 'tkinter'

seleniumbase version: latest OS: ubuntu23

mdmintz commented 3 months ago

On Ubuntu, tkinter needs to be installed separately: https://stackoverflow.com/a/25905642/7058266

sudo apt-get install python3-tk
manojs1978 commented 3 months ago

thank you for your reply.

but still facing issue

i followed steps to install as below

created virtual env python3 -m venv sbase_env source sbase_env/bin/activate sudo apt-get install python3-tk pip uninstall seleniumbase

then i was trying for recorder seleniumbase recorder

but getting below error


(sbase_env) manoj@manoj:~/Documents/**/**/QA/tests/sbase_env/bin$ pip install seleniumbase
Collecting seleniumbase
  Downloading seleniumbase-4.25.0-py3-none-any.whl (552 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 552.9/552.9 kB 2.5 MB/s eta 0:00:00
Collecting behave==1.2.6
  Using cached behave-1.2.6-py2.py3-none-any.whl (136 kB)
Collecting pytest==8.1.1
  Using cached pytest-8.1.1-py3-none-any.whl (337 kB)
Collecting h11==0.14.0
  Using cached h11-0.14.0-py3-none-any.whl (58 kB)
Collecting pyotp==2.9.0
  Using cached pyotp-2.9.0-py3-none-any.whl (13 kB)
Collecting iniconfig==2.0.0
  Using cached iniconfig-2.0.0-py3-none-any.whl (5.9 kB)
Collecting pluggy==1.4.0
  Using cached pluggy-1.4.0-py3-none-any.whl (20 kB)
Collecting parse>=1.20.1
  Using cached parse-1.20.1-py2.py3-none-any.whl (20 kB)
Collecting charset-normalizer==3.3.2
  Using cached charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (142 kB)
Collecting parse-type>=0.6.2
  Using cached parse_type-0.6.2-py2.py3-none-any.whl (26 kB)
Collecting platformdirs>=4.2.0
  Using cached platformdirs-4.2.0-py3-none-any.whl (17 kB)
Collecting six==1.16.0
  Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting cssselect==1.2.0
  Using cached cssselect-1.2.0-py2.py3-none-any.whl (18 kB)
Collecting idna==3.6
  Using cached idna-3.6-py3-none-any.whl (61 kB)
Collecting execnet==2.0.2
  Using cached execnet-2.0.2-py3-none-any.whl (37 kB)
Collecting pytest-ordering==0.6
  Using cached pytest_ordering-0.6-py3-none-any.whl (4.6 kB)
Collecting pytest-xdist==3.5.0
  Using cached pytest_xdist-3.5.0-py3-none-any.whl (42 kB)
Collecting selenium==4.19.0
  Downloading selenium-4.19.0-py3-none-any.whl (10.5 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.5/10.5 MB 6.8 MB/s eta 0:00:00
Collecting pyyaml>=6.0.1
  Using cached PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (738 kB)
Collecting outcome==1.3.0.post0
  Using cached outcome-1.3.0.post0-py2.py3-none-any.whl (10 kB)
Collecting trio==0.25.0
  Using cached trio-0.25.0-py3-none-any.whl (467 kB)
Collecting wsproto==1.2.0
  Using cached wsproto-1.2.0-py3-none-any.whl (24 kB)
Collecting trio-websocket==0.11.1
  Using cached trio_websocket-0.11.1-py3-none-any.whl (17 kB)
Collecting certifi>=2024.2.2
  Using cached certifi-2024.2.2-py3-none-any.whl (163 kB)
Collecting fasteners==0.19
  Using cached fasteners-0.19-py3-none-any.whl (18 kB)
Collecting attrs>=23.2.0
  Using cached attrs-23.2.0-py3-none-any.whl (60 kB)
Collecting typing-extensions>=4.10.0
  Using cached typing_extensions-4.10.0-py3-none-any.whl (33 kB)
Collecting parameterized==0.9.0
  Using cached parameterized-0.9.0-py2.py3-none-any.whl (20 kB)
Collecting filelock>=3.13.3
  Using cached filelock-3.13.3-py3-none-any.whl (11 kB)
Collecting rich==13.7.1
  Using cached rich-13.7.1-py3-none-any.whl (240 kB)
Collecting py==1.11.0
  Using cached py-1.11.0-py2.py3-none-any.whl (98 kB)
Collecting tabcompleter==1.3.0
  Using cached tabcompleter-1.3.0-py3-none-any.whl (6.5 kB)
Collecting wheel>=0.43.0
  Using cached wheel-0.43.0-py3-none-any.whl (65 kB)
Collecting exceptiongroup==1.2.0
  Using cached exceptiongroup-1.2.0-py3-none-any.whl (16 kB)
Collecting requests==2.31.0
  Using cached requests-2.31.0-py3-none-any.whl (62 kB)
Collecting markdown-it-py==3.0.0
  Using cached markdown_it_py-3.0.0-py3-none-any.whl (87 kB)
Collecting pytest-html==2.0.1
  Using cached pytest_html-2.0.1-py2.py3-none-any.whl (15 kB)
Collecting pdbp==1.5.0
  Using cached pdbp-1.5.0-py3-none-any.whl (17 kB)
Collecting colorama==0.4.6
  Using cached colorama-0.4.6-py2.py3-none-any.whl (25 kB)
Collecting chardet==5.2.0
  Using cached chardet-5.2.0-py3-none-any.whl (199 kB)
Collecting setuptools>=69.2.0
  Using cached setuptools-69.2.0-py3-none-any.whl (821 kB)
Collecting pygments==2.17.2
  Using cached pygments-2.17.2-py3-none-any.whl (1.2 MB)
Collecting sortedcontainers==2.4.0
  Using cached sortedcontainers-2.4.0-py2.py3-none-any.whl (29 kB)
Collecting mdurl==0.1.2
  Using cached mdurl-0.1.2-py3-none-any.whl (10.0 kB)
Collecting pytest-metadata==3.1.1
  Using cached pytest_metadata-3.1.1-py3-none-any.whl (11 kB)
Collecting pip>=24.0
  Using cached pip-24.0-py3-none-any.whl (2.1 MB)
Collecting urllib3<2,>=1.26.18
  Using cached urllib3-1.26.18-py2.py3-none-any.whl (143 kB)
Collecting beautifulsoup4==4.12.3
  Using cached beautifulsoup4-4.12.3-py3-none-any.whl (147 kB)
Collecting pytest-rerunfailures==14.0
  Using cached pytest_rerunfailures-14.0-py3-none-any.whl (12 kB)
Collecting pynose==1.5.1
  Downloading pynose-1.5.1-py3-none-any.whl (116 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 116.3/116.3 kB 5.3 MB/s eta 0:00:00
Collecting sbvirtualdisplay==1.3.0
  Using cached sbvirtualdisplay-1.3.0-py2.py3-none-any.whl (12 kB)
Collecting sniffio==1.3.1
  Using cached sniffio-1.3.1-py3-none-any.whl (10 kB)
Collecting soupsieve==2.5
  Using cached soupsieve-2.5-py3-none-any.whl (36 kB)
Collecting packaging>=24.0
  Using cached packaging-24.0-py3-none-any.whl (53 kB)
Collecting tomli>=1
  Using cached tomli-2.0.1-py3-none-any.whl (12 kB)
Collecting urllib3[socks]<3,>=1.26
  Using cached urllib3-2.2.1-py3-none-any.whl (121 kB)
  Using cached urllib3-2.2.0-py3-none-any.whl (120 kB)
  Using cached urllib3-2.1.0-py3-none-any.whl (104 kB)
  Using cached urllib3-2.0.7-py3-none-any.whl (124 kB)
  Using cached urllib3-2.0.6-py3-none-any.whl (123 kB)
  Using cached urllib3-2.0.5-py3-none-any.whl (123 kB)
  Using cached urllib3-2.0.4-py3-none-any.whl (123 kB)
  Using cached urllib3-2.0.3-py3-none-any.whl (123 kB)
  Using cached urllib3-2.0.2-py3-none-any.whl (123 kB)
Collecting PySocks!=1.5.7,<2.0,>=1.5.6
  Using cached PySocks-1.7.1-py3-none-any.whl (16 kB)
Installing collected packages: sortedcontainers, parse, wheel, urllib3, typing-extensions, tomli, tabcompleter, soupsieve, sniffio, six, setuptools, sbvirtualdisplay, pyyaml, PySocks, pyotp, pynose, pygments, py, pluggy, platformdirs, pip, parameterized, packaging, mdurl, iniconfig, idna, h11, filelock, fasteners, execnet, exceptiongroup, cssselect, colorama, charset-normalizer, chardet, certifi, attrs, wsproto, requests, pytest, pdbp, parse-type, outcome, markdown-it-py, beautifulsoup4, trio, rich, pytest-xdist, pytest-rerunfailures, pytest-ordering, pytest-metadata, behave, trio-websocket, pytest-html, selenium, seleniumbase
  Attempting uninstall: setuptools
    Found existing installation: setuptools 58.1.0
    Uninstalling setuptools-58.1.0:
      Successfully uninstalled setuptools-58.1.0
  Attempting uninstall: pip
    Found existing installation: pip 23.0.1
    Uninstalling pip-23.0.1:
      Successfully uninstalled pip-23.0.1
Successfully installed PySocks-1.7.1 attrs-23.2.0 beautifulsoup4-4.12.3 behave-1.2.6 certifi-2024.2.2 chardet-5.2.0 charset-normalizer-3.3.2 colorama-0.4.6 cssselect-1.2.0 exceptiongroup-1.2.0 execnet-2.0.2 fasteners-0.19 filelock-3.13.3 h11-0.14.0 idna-3.6 iniconfig-2.0.0 markdown-it-py-3.0.0 mdurl-0.1.2 outcome-1.3.0.post0 packaging-24.0 parameterized-0.9.0 parse-1.20.1 parse-type-0.6.2 pdbp-1.5.0 pip-24.0 platformdirs-4.2.0 pluggy-1.4.0 py-1.11.0 pygments-2.17.2 pynose-1.5.1 pyotp-2.9.0 pytest-8.1.1 pytest-html-2.0.1 pytest-metadata-3.1.1 pytest-ordering-0.6 pytest-rerunfailures-14.0 pytest-xdist-3.5.0 pyyaml-6.0.1 requests-2.31.0 rich-13.7.1 sbvirtualdisplay-1.3.0 selenium-4.19.0 seleniumbase-4.25.0 setuptools-69.2.0 six-1.16.0 sniffio-1.3.1 sortedcontainers-2.4.0 soupsieve-2.5 tabcompleter-1.3.0 tomli-2.0.1 trio-0.25.0 trio-websocket-0.11.1 typing-extensions-4.10.0 urllib3-1.26.18 wheel-0.43.0 wsproto-1.2.0
(sbase_env) manoj@manoj:~/Documents/**/**/QA/tests/sbase_env/bin$ sbase commander
Traceback (most recent call last):
  File "/home/manoj/Documents/**/**/QA/tests/sbase_env/bin/sbase", line 8, in <module>
    sys.exit(main())
  File "/home/manoj/Documents/**/**/QA/tests/sbase_env/lib/python3.9/site-packages/seleniumbase/console_scripts/run.py", line 1024, in main
    from seleniumbase.console_scripts import sb_commander
  File "/home/manoj/Documents/**/**/QA/tests/sbase_env/lib/python3.9/site-packages/seleniumbase/console_scripts/sb_commander.py", line 32, in <module>
    import tkinter as tk  # noqa: E402
ModuleNotFoundError: No module named 'tkinter'
(sbase_env) manoj@manoj:~/Documents/**/**/QA/tests/sbase_env/bin$ sudo apt-get install python3-tk
[sudo] password for manoj: 
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
python3-tk is already the newest version (3.10.8-1~22.04).
0 upgraded, 0 newly installed, 0 to remove and 143 not upgraded.
(sbase_env) manoj@manoj:~/Documents/**/**/QA/tests/sbase_env/bin$ seleniumbase recorder
Traceback (most recent call last):
  File "/home/manoj/Documents/**/**/QA/tests/sbase_env/bin/seleniumbase", line 8, in <module>
    sys.exit(main())
  File "/home/manoj/Documents/**/**/QA/tests/sbase_env/lib/python3.9/site-packages/seleniumbase/console_scripts/run.py", line 1043, in main
    from seleniumbase.console_scripts import sb_recorder
  File "/home/manoj/Documents/**/**/QA/tests/sbase_env/lib/python3.9/site-packages/seleniumbase/console_scripts/sb_recorder.py", line 36, in <module>
    import tkinter as tk  # noqa: E402
ModuleNotFoundError: No module named 'tkinter'
``
mdmintz commented 3 months ago

You've got three options:

  1. Find another StackOverflow article on fixing tkinter installation on Linux.
  2. Use macOS or Windows instead.
  3. Start recording without the GUI: sbase mkrec TEST_NAME.py --url=URL