1

I know many similar questions have been asked but not a single answer helped me fix my issue.

I have a very basic selenium program in python which seems to crash when I try and run it headless.

Here is what I have so far.

from selenium import webdriver
import time

options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('--user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36')
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')  

driver = webdriver.Chrome("chromedriver", options=options)

driver.get("https://tinder.com/")
driver.set_window_size(1920, 1080)
time.sleep(0.5)
driver.find_element_by_xpath("//*[@id=\"content\"]/div/div[1]/div/main/div[1]/div/div/header/div[1]/div[2]/div/button").click()

currentWindow = driver.window_handles[0]
time.sleep(1)
driver.find_element_by_xpath('//*[@id="modal-manager"]/div/div/div[1]/div/div[3]/span/div[1]/div/button').click()
time.sleep(1)

newWindow = driver.window_handles[1]
driver.switch_to.window(newWindow)
time.sleep(1)
driver.find_element_by_css_selector("input[type=email]").send_keys("someemail@mail.com")
driver.find_element_by_xpath("//*[@id=\"identifierNext\"]/div/button").click()
time.sleep(1)
driver.find_element_by_xpath("//*[@id=\"password\"]/div[1]/div/div[1]/input").send_keys("somepasswordthatyouhave")
driver.find_element_by_xpath("//*[@id=\"passwordNext\"]/div/button").click()
driver.switch_to.window(currentWindow)
# driver.save_screenshot("tinderOpen.png")
time.sleep(5)
driver.save_screenshot("crash.png")
driver.find_element_by_xpath("//*[@id=\"modal-manager\"]/div/div/div/div/div[3]/button[1]").click()
time.sleep(0.5)
driver.find_element_by_xpath("//*[@id=\"modal-manager\"]/div/div/div/div/div[3]/button[1]").click()
driver.save_screenshot("tinderOpened.png")

Now when I run this in the terminal I get this beautiful error:

Traceback (most recent call last):
  File "tinder.py", line 33, in <module>
    driver.save_screenshot("crash.png")
  File "/home/rodude123/.local/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 1055, in save_screenshot
    return self.get_screenshot_as_file(filename)
  File "/home/rodude123/.local/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 1032, in get_screenshot_as_file
    png = self.get_screenshot_as_png()
  File "/home/rodude123/.local/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 1064, in get_screenshot_as_png
    return base64.b64decode(self.get_screenshot_as_base64().encode('ascii'))
  File "/home/rodude123/.local/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 1074, in get_screenshot_as_base64
    return self.execute(Command.SCREENSHOT)['value']
  File "/home/rodude123/.local/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "/home/rodude123/.local/lib/python3.8/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: session deleted because of page crash
from tab crashed
  (Session info: headless chrome=85.0.4183.102)

See, I've tried to use no sandbox and I've even tried disabling dev shm but nothing works. I don't know what to do, please help.

Thanks, rodude123

rodude123
  • 294
  • 3
  • 19
  • What you should do perhaps do is to try commenting out `options.add_argument('--headless')` line and see for yourself what is going on. I would imagine google is sophisticated enough not to allow you to login just like that (it'll probably throw a captcha at you or something). If it's just your account - you should perhaps try reusing session from your normal browser, and if you're doing this for others, consider Tinder API instead. – avloss Nov 14 '20 at 10:27
  • @avloss I'm doing this for myself and it works fine when not headless it's just doesn't work when headless. I'll have a look at using session from the browser. – rodude123 Nov 14 '20 at 18:36

0 Answers0