david96182 / ninjemail

Python library for automated email account creation. Create multiple accounts easily with support for major email providers.
MIT License
74 stars 25 forks source link

Help Understanding Error Message #15

Open teamcoltra opened 3 weeks ago

teamcoltra commented 3 weeks ago

I have been trying to get Ninjemail going and here has been the process: I kept getting this error:

Traceback (most recent call last):
  File "/home/teamcoltra/outlook/ninjemail/bot.py", line 25, in <module>
    email, password = ninja.create_outlook_account(
  File "/home/teamcoltra/outlook/ninjemail/ninjemail/ninjemail_manager.py", line 183, in create_outlook_account
    return outlook.create_account(driver,
  File "/home/teamcoltra/outlook/ninjemail/ninjemail/email_providers/outlook.py", line 43, in create_account
    driver.get(URL)
  File "/home/teamcoltra/.local/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py", line 363, in get
    self.execute(Command.GET, {"url": url})
  File "/home/teamcoltra/.local/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py", line 354, in execute
    self.error_handler.check_response(response)
  File "/home/teamcoltra/.local/lib/python3.10/site-packages/selenium/webdriver/remote/errorhandler.py", line 229, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: Reached error page: about:neterror?e=proxyConnectFailure&u=https%3A//signup.live.com/signup&c=UTF-8&d=Firefox%20is%20configured%20to%20use%20a%20proxy%20server%20that%20is%20refusing%20connections.
Stacktrace:
RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:193:5
UnknownError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:832:5
checkReadyState@chrome://remote/content/marionette/navigate.sys.mjs:58:24
onNavigation@chrome://remote/content/marionette/navigate.sys.mjs:330:39
emit@resource://gre/modules/EventEmitter.sys.mjs:148:20
receiveMessage@chrome://remote/content/marionette/actors/MarionetteEventsParent.sys.mjs:33:25

I have checked in a simple script that my proxies are working just fine, but I disabled proxies and now I have:

Traceback (most recent call last):
  File "/home/teamcoltra/outlook/ninjemail/bot.py", line 27, in <module>
    email, password = ninja.create_outlook_account(
  File "/home/teamcoltra/outlook/ninjemail/ninjemail/ninjemail_manager.py", line 183, in create_outlook_account
    return outlook.create_account(driver,
  File "/home/teamcoltra/outlook/ninjemail/ninjemail/email_providers/outlook.py", line 52, in create_account
    username_input = WebDriverWait(driver, WAIT).until(EC.presence_of_element_located((By.ID, 'MemberName')))
  File "/home/teamcoltra/.local/lib/python3.10/site-packages/selenium/webdriver/support/wait.py", line 105, in until
    raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message:
Stacktrace:
RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:193:5
NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:511:5
dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16

My logs just say:

2024-06-22 16:05:09 [INFO]: ====== WebDriver manager ======
2024-06-22 16:05:09 [INFO]: Get LATEST geckodriver version for 126.0 firefox
2024-06-22 16:05:10 [INFO]: Get LATEST geckodriver version for 126.0 firefox
2024-06-22 16:05:10 [INFO]: Driver [/home/teamcoltra/.wdm/drivers/geckodriver/linux64/v0.34.0/geckodriver] found in cac>2024-06-22 16:05:20 [INFO]: Creating outlook account

My code is:

from ninjemail import Ninjemail

# Function to read usernames from the file
def get_usernames(file_path):
    with open(file_path, 'r') as file:
        usernames = file.readlines()
    return [username.strip() for username in usernames]

#  Captcha Key is actually filled out
# Proxies are actually filled out but look like this
ninja = Ninjemail(
    browser="firefox",
    captcha_keys={"capsolver": "CAP-01...."},
    proxies=['http://proxy:ip','http://proxy:ip'],
    auto_proxy=False
)

# Read the list of usernames from the file
username_list = get_usernames('../username_list.txt')

# File to store the generated emails and passwords
output_file = 'created_accounts.txt'

with open(output_file, 'a') as file:
    for username in username_list:
        email, password = ninja.create_outlook_account(
            username=username,
            password="THE_PASSWORD_TEST",  # You might want to generate or specify a different password
            first_name="GEORGE",
            last_name="GUY",
            country="USA",
            birthdate="01-01-1990",
            use_proxy=False
        )
        file.write(f"{email}, {password}\n")

print("Accounts creation process completed. Check the created_accounts.txt file for details.")

I have tried Googling the issue but can't find anything similar.

This is Ubuntu on WSL2

teamcoltra commented 3 weeks ago

All pytests run successfully as well.

david96182 commented 2 weeks ago

The first error you encountered is that the script could not connect with your proxy. The second error, after disabling the proxy, is that Ninjemail couldn't find the input field for the username with the ID 'MemberName'. This could be happening due to different factors. You can enable headful mode to see what happens in the browser (if the page loads, etc.). Your code seems good, but I strongly recommend you to use undetected-chrome. Does the error occur consistently, or randomly?

Victor-Evogor commented 2 weeks ago

The Error messages are not really helpful. I'm getting this error and I don't know what to do

Traceback (most recent call last):
  File "/home/victor/Documents/manic_agency/mass_dmer_bot/main.py", line 64, in <module>
    cli()
  File "/home/victor/Documents/manic_agency/mass_dmer_bot/.venv/lib/python3.10/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "/home/victor/Documents/manic_agency/mass_dmer_bot/.venv/lib/python3.10/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "/home/victor/Documents/manic_agency/mass_dmer_bot/.venv/lib/python3.10/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/victor/Documents/manic_agency/mass_dmer_bot/.venv/lib/python3.10/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/victor/Documents/manic_agency/mass_dmer_bot/.venv/lib/python3.10/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/home/victor/Documents/manic_agency/mass_dmer_bot/main.py", line 46, in create_emails
    email, password = ninja.create_gmail_account(
  File "/home/victor/Documents/manic_agency/mass_dmer_bot/ninjemail/ninjemail_manager.py", line 220, in create_gmail_account
    driver = create_driver(self.browser, proxy=proxy)
  File "/home/victor/Documents/manic_agency/mass_dmer_bot/ninjemail/ninjemail_utils/webdriver_utils.py", line 122, in create_driver
    driver = webdriver.Firefox(service=FirefoxService(GeckoDriverManager().install()), options=options)
  File "/home/victor/Documents/manic_agency/mass_dmer_bot/.venv/lib/python3.10/site-packages/selenium/webdriver/firefox/webdriver.py", line 71, in __init__
    super().__init__(command_executor=executor, options=options)
  File "/home/victor/Documents/manic_agency/mass_dmer_bot/.venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py", line 212, in __init__
    self.start_session(capabilities)
  File "/home/victor/Documents/manic_agency/mass_dmer_bot/.venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py", line 299, in start_session
    response = self.execute(Command.NEW_SESSION, caps)["value"]
  File "/home/victor/Documents/manic_agency/mass_dmer_bot/.venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py", line 354, in execute
    self.error_handler.check_response(response)
  File "/home/victor/Documents/manic_agency/mass_dmer_bot/.venv/lib/python3.10/site-packages/selenium/webdriver/remote/errorhandler.py", line 229, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.InvalidArgumentException: Message: Preference values not all string or integer or boolean

Logs

2024-06-29 22:14:10,608 - INFO - ====== WebDriver manager ======
2024-06-29 22:14:11,668 - INFO - Get LATEST geckodriver version for 127.0 firefox
2024-06-29 22:14:12,766 - INFO - Get LATEST geckodriver version for 127.0 firefox
2024-06-29 22:14:13,560 - INFO - Driver [/home/victor/.wdm/drivers/geckodriver/linux64/v0.34.0/geckodriver] found in cache

Code

ninja = Ninjemail(
    browser="firefox",
    captcha_keys={"capsolver": os.getenv("CAPSOLVER_API_KEY")},
    sms_keys={"getsmscode": {"user": os.getenv("GETSMSCODE_USERNAME"), "token": os.getenv("GETSMSCODE_API_KEY")}},
    proxies=proxies,
    auto_proxy=True,
)