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