Selenium 在 Python 中找不到按 ID 定位下载 link 元素

Selenium can't find locate download link element by ID in Python

我正在尝试让 Selenium 自动从 https://8mb.video/ 上传和下载文件=23=] 即使给定的 ID 与 html 中的 ID 匹配。这是我的代码:

driver = webdriver.Edge()

driver.get('https://8mb.video/')

driver.maximize_window()

driver.get("https://8mb.video/")
s = driver.find_element(By.XPATH, "//input[@type='file']")
s.send_keys("C:\Users\ijwto\Desktop\VUT\bladee.mp4")

s = driver.find_element(By.ID, "rockandroll")
s.click()

try:
    element = WebDriverWait(driver, 30).until(
        EC.presence_of_element_located((By.ID, "dllink"))
    )
finally:
    print("nope")

我也试过使用 element_to_be_clickable 但没有用,并检查了 HTML 中的 iframe,但没有找到。

如有任何帮助,我们将不胜感激。

为了下载文件需要click在try块element

此外,如果在 finally 块中打印 Nope 的目的是指示是否未找到该元素,则可以将其添加到 except 下而不是 finally

注意:- 如果您尝试上传的视频很大并且网站需要更多时间来处理它,WebDriverWait 的等待时间可能会增加

您的解决方案

driver = webdriver.Edge()
driver.get('https://8mb.video/')
driver.maximize_window()
driver.get("https://8mb.video/")
s = driver.find_element(By.XPATH, "//input[@type='file']")
s.send_keys("C:\Users\ijwto\Desktop\VUT\bladee.mp4")
s = driver.find_element(By.ID, "rockandroll")
s.click()
try:
    element = WebDriverWait(driver, 30).until(
    EC.presence_of_element_located((By.ID, "dllink"))
    )
    element.click()
except:
  print("Nope")