Загрузить файл на сайт, python selenium
Помогите разобраться, нужно загрузить видео на сайт без диалогового окна,
Знаю что это можно сделать через <input type="file"
Пытался сделать так
ByfileInput = browser.find_element(By.XPATH, '//*[@id="root"]/div/div/div/div/div[2]/div[1]/div/input') StringfilePath = "/Users/video/1.mov" ByfileInput.send_keys(StringfilePath)
и даже так
elem = driver.find_element(By.XPATH, '//*[@id="root"]/div/div/div/div/div[2]/div[1]/div/input')
driver.execute_script("arguments[0].style.display = 'block';", elem)
ByfileInput = driver.find_element(By.XPATH, '//*[@id="root"]/div/div/div/div/div[2]/div[1]/div/input')
StringfilePath = "/Users/video/1.mov"
ByfileInput.send_keys(StringfilePath)
все четно, selenium будто не видит элемент, вообщем не понимаю.
ошибка:
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="root"]/div/div/div/div/div[2]/div[1]/div/input"}
ссылка на страницу- https://www.tiktok.com/upload?lang=ru-RU
Ответы (1 шт):
Автор решения: web developer
→ Ссылка
как я понимаю selenium не видит элемент ввода Пожалуйста, попробуйте это с помощью xpath. Оба должны работать.
from selenium.webdriver.support.ui import WebDriverWait
from selenium import webdriver
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
element = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.XPATH, '//input[@id="w0-find-product-search-bar-search-field"]')))
element.send_keys("1234")
или же
from selenium.webdriver.support.ui import WebDriverWait
from selenium import webdriver
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
element = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.XPATH, '//input[@class="find-product"]')))
element.send_keys("1234")
или же
driver.execute_script(("document.getElementById('w0-find-product-search-bar-search-field').value='1234'"))