![](/img/trans.png)
[英]Getting Message: no such element: Unable to locate element: {"method":"css selector","selector":"[id="None"]"} Python when using selenium
[英]Unable to locate element: {“method”:“css selector”,“selector”:“[id=”identifierId“]”} in selenium
我想通过电子邮件自动下载到本地并发送报告(仪表板数据工作室),但是当我在数据工作室中运行代码时,chrome驱动程序会打开,并显示“此时无法查看报告或无法访问报告”通知我该怎么办? 这是我的代码:
# login to datastudio & refresh the newest data
self.chrome_driver.get(self.url)
self.chrome_driver.find_element_by_id("identifierId").send_keys(self.email + u'\ue007')
self.quick_wait.until(EC.element_to_be_clickable((By.NAME, "password"))).send_keys(self.password+u'\ue007')
self.quick_wait.until(EC.element_to_be_clickable((By.XPATH, self.report_refresh))).click() # refresh report data
time.sleep(15)
# download file to local path
try:
ActionChains(self.chrome_driver).context_click(self.chrome_driver.find_element_by_xpath(self.product_export)).perform()
self.quick_wait.until(EC.element_to_be_clickable((By.XPATH, self.product_download))).click()
time.sleep(20)
self.quick_wait.until(EC.element_to_be_clickable((By.ID, self.report_download))).click()
self.chrome_driver.find_element_by_css_selector(self.report_to_pdf).click()
time.sleep(20)
except AssertionError as error:
print(error)
self.chrome_driver.quit()
我收到错误消息,例如:
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"[id="identifierId"]"}
页面加载可能是一个问题。尝试添加隐式或显式等待。
1.应用所需的等待(隐式或显式等待)
隐式等待
driver.implicitly_wait(15)
显式等待:
wait = WebDriverWait(driver, 10)
wait.until(ec.visibility_of_element_located((By.XPATH, "//*[contains(@class,'result-list-entry')]")))
例:
self.chrome_driver.implicitly_wait(15)
self.chrome_driver.get(self.url)
self.quick_wait.until(EC.element_to_be_clickable((By.ID, "identifierId")))
self.chrome_driver.find_element_by_id("identifierId").send_keys(self.email + u'\ue007')
self.quick_wait.until(EC.element_to_be_clickable((By.NAME, "password"))).send_keys(self.password+u'\ue007')
2.检查元素是否是iframe元素的子元素。 如果是这样,请切换至iframe并尝试点击
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.