iricardoxd's picture
Update config.toml
7c25588
raw
history blame
2.93 kB
# TikTok Uploader Default Configuation File
headless = true
quit_on_end = true
# Messing around with inputs
valid_path_names = ["path", "filename", "video", "video_path"]
valid_descriptions = ["description", "desc", "caption"]
# Selenium Webdriver Waits
implicit_wait = 5 # seconds
explicit_wait = 60 # seconds
supported_file_types = ["mp4", "mov", "avi", "wmv", "flv", "webm", "mkv", "m4v", "3gp", "3g2", "gif"]
max_description_length = 150 # characters
[paths]
main = "https://www.tiktok.com/"
login = "https://www.tiktok.com/login/phone-or-email/email"
upload = "https://www.tiktok.com/creator-center/upload?from=upload"
[disguising]
user_agent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'
[selectors] # Selenium XPATH selectors
[selectors.login]
username_field = "//input[@name=\"username\"]"
password_field = "//input[@type=\"password\"]"
login_button = "//button[@type=\"submit\"]"
alert_user_if_failed = true # sends an alert and waits instead of failing
cookie_of_interest = "sessionid" # cookie to check if login was successful
[selectors.upload]
iframe = "//iframe"
upload_video = "//input[@type='file']"
upload_in_progress = "//*[.='Cancel']"
upload_confirmation = "//div[contains(@class, 'tiktok-app-frame')]"
process_confirmation = "//div[contains(@class, 'tiktok-app-frame')]"
description = "//div[@contenteditable='true']"
visibility = "//div[@class='tiktok-select-selector']"
options = ["Public", "Friends", "Private"]
hashtags = "//div[@class='mentionSuggestions']//*[contains(text(), '{}')]"
mentions = "//div[contains(concat(' ', normalize-space(@class), ' '), 'user-id') and .='{}']/.."
mention_box = "//input[contains(concat(' ', normalize-space(@class), ' '), 'search-friends')]"
comment = "//label[.='Comment']/following-sibling::div/input"
duet = "//label[.='Duet']/following-sibling::div/input"
stitch = "//label[.='Stitch']/following-sibling::div/input"
post = "//div[contains(@class, 'btn-post')]"
post_confirmation = "//div[.='Your videos are being uploaded to TikTok!']"
[selectors.schedule]
switch = "//*[@id='tux-3']"
date_picker = "//div[contains(@class, 'date-picker-input')]"
calendar = "//div[contains(@class, 'calendar-wrapper')]"
calendar_month = "//span[contains(@class, 'month-title')]"
calendar_valid_days = "//div[@class='jsx-4172176419 days-wrapper']//span[contains(@class, 'day') and contains(@class, 'valid')]"
calendar_arrows = "//span[contains(@class, 'arrow')]" # first last, second next
time_picker = "//div[contains(@class, 'time-picker-input')]"
time_picker_text = "//div[contains(@class, 'time-picker-input')]/*[1]"
time_picker_container = "//div[@class='tiktok-timepicker-time-picker-container']"
timepicker_hours = "//span[contains(@class, 'tiktok-timepicker-left')]"
timepicker_minutes = "//span[contains(@class, 'tiktok-timepicker-right')]"