Python 3.x 硒罐';找不到元素(xpath)

Python 3.x 硒罐';找不到元素(xpath),python-3.x,selenium,Python 3.x,Selenium,因此,我尝试单击此元素: //*[@id=“ember1720”] 但是硒告诉我它找不到它。我的操作如下:driver.通过xpath('/*[@id=“ember1720”]')查找元素。单击() 我在python官方网站上尝试过相同的程序,它在那里运行得非常好。首先确保元素已正确加载: from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait fro

因此,我尝试单击此元素:

//*[@id=“ember1720”]

但是硒告诉我它找不到它。我的操作如下:
driver.通过xpath('/*[@id=“ember1720”]')查找元素。单击()


我在python官方网站上尝试过相同的程序,它在那里运行得非常好。

首先确保元素已正确加载:

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


WebDriverWait(driver, 20).until(
  EC.presence_of_element_located((By.XPATH, """//*[@id="ember1720"]""")))
或者可能:

WebDriverWait(driver, 20).until(
  EC.element_to_be_clickable((By.XPATH, """//*[@id="ember1720"]""")))
或者,尝试按id查找元素:

driver.find_element_by_id('ember1720').click()

我过去遇到过这样的问题,即我可以通过ID而不是xpath找到元素。

首先确保元素已正确加载:

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


WebDriverWait(driver, 20).until(
  EC.presence_of_element_located((By.XPATH, """//*[@id="ember1720"]""")))
或者可能:

WebDriverWait(driver, 20).until(
  EC.element_to_be_clickable((By.XPATH, """//*[@id="ember1720"]""")))
或者,尝试按id查找元素:

driver.find_element_by_id('ember1720').click()

我过去遇到过这样的问题,我可以通过ID而不是xpath找到元素。

我不确定这是否是您的问题,但依靠这样的ID(似乎是自动生成的)不是一个好的做法。
请阅读选择最佳定位器的最佳实践。

我不确定这是否是您的确切问题,但根据这样的ID,自动生成的ID并不是一个好的实践。 请阅读选择最佳定位器的最佳实践