Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python3
- #
- # Change titles (dash) via restream.io
- # v.1.01
- #######################################################
- # REQUIREMENTS:
- #--------------
- # pip: pyvirtualdisplay, selenium
- # soft: chromium-chromedriver, chromium-browser, xvfb
- #######################################################
- import sys
- from pyvirtualdisplay import Display
- from selenium import webdriver
- from selenium.webdriver.common.keys import Keys
- from selenium.webdriver.common.by import By
- from selenium.webdriver.support.ui import WebDriverWait
- from selenium.webdriver.support import expected_conditions as EC
- ############
- # SETTINGS #
- ############
- re_login = "[email protected]"
- re_pass = "PASSWORD"
- re_id = "000000" # account id, look at url in browser
- chromedriver_path = "/usr/lib/chromium-browser/chromedriver"
- ############
- # MAIN #
- ############
- # get dash from first arg
- newDash = sys.argv[1]
- # create virtual display for chrome
- display = Display(visible=0, size=(800, 600))
- display.start()
- # create chrome object
- driver = webdriver.Chrome(chromedriver_path)
- # open login page
- driver.get("https://restream.io/login")
- # select form fields by html tags names
- login_form_email = driver.find_element_by_name("email")
- login_form_pass = driver.find_element_by_name("password")
- # sent login and password to fields
- login_form_email.send_keys(re_login)
- login_form_pass.send_keys(re_pass)
- # press Enter in password field to logon
- login_form_pass.send_keys(Keys.RETURN)
- try:
- # check loading page by tag with ID "jsChannelList" (must present on main page of profile)
- element = WebDriverWait(driver, 10).until(
- EC.presence_of_element_located((By.ID, "jsChannelList"))
- )
- finally:
- # click link of title change page
- reDashLinkSelector = "a[href='/titles/" + re_id + "']"
- driver.find_element_by_css_selector(reDashLinkSelector).click()
- try:
- # another check
- element = WebDriverWait(driver, 10).until(
- EC.presence_of_element_located((By.ID, "jsChannelTitleList"))
- )
- finally:
- # select main title field
- title = driver.find_element_by_name("all-titles")
- # click on it
- title.click()
- # send our title to field
- title.send_keys(newDash)
- # select and click update button
- driver.find_element_by_css_selector("input[value='Update All']").click()
- title.send_keys(Keys.RETURN)
- # close browser
- driver.close()
- # close virtual display
- display.stop()
Add Comment
Please, Sign In to add comment