首页 > 解决方案 > 消息;没有这样的元素(硒 xpath)

问题描述

我对硒有疑问find_by_xpath

这是我的 xpath ://input [@type='text']

我得到这个错误:

在此处输入图像描述

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//input [@type='text']"}
from selenium import webdriver
path="C:\Program Files (x86)\chromedriver.exe"
username="123456"
password="123456"
url="https://www.foxesscloud.com/login"
driver=webdriver.Chrome(path)
driver.get(url)

driver.find_element_by_xpath("//input [@type='text']").send_keys("Pies123")
print("done")

print("Log")

标签: python-3.xseleniumxpath

解决方案


这是因为Elements are not rendered properly你正试图与他们互动。请使用显式等待来处理这种情况和错误。

driver = webdriver.Chrome(driver_path)
driver.maximize_window()
driver.implicitly_wait(30)
wait = WebDriverWait(driver, 30)
driver.get("https://www.foxesscloud.com/login")
wait.until(EC.visibility_of_element_located((By.XPATH, "//input [@type='text']"))).send_keys('Pies123')
wait.until(EC.visibility_of_element_located((By.XPATH, "//input [@type='password']"))).send_keys('Your password here')
wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button.login-click"))).click()

进口:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC

推荐阅读