selenium-webdriver - 运行 selenium 脚本时出错 self._execute(Command.CLICK_ELEMENT)
问题描述
我在 python 中使用 selenium,我尝试单击,但每次都显示错误(在启动时正在工作)只在这一行出现错误,并尝试了 CSS 选择器 id 和所有。
<span class="avatar" ng-click="showBlock($event);">
<img src="assets/images/user.png" alt="user image">
</span>
selenium code ::
wait.until(EC.presence_of_element_located((By.XPATH,'//img[@alt="user image"]'))).click()
ERROR::
self._execute(Command.CLICK_ELEMENT)
return self._parent.execute(command, params)
self.error_handler.check_response(response)
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: Element <img src="assets/images/user.png" alt="user image"> is not clickable at point (1333, 34). Other element would receive the click: <div id="page_preloader" style="display: block;">...</div>
(Session info: chrome=81.0.4044.122)
(Driver info: chromedriver=2.43.600210 (68dcf5eebde37173d4027fa8635e332711d2874a),platform=Windows NT 10.0.18363 x86_64)
解决方案
尝试单击父级span
wait.until(EC.presence_of_element_located((By.XPATH,'//img[@alt="user image"]/parent::span'))).click()
如果这不起作用,请尝试 JS 点击:
el = driver.find_element_by_xpath("//img[@alt="user image"]")
driver.executeScript("arguments[0].click();", el);
推荐阅读
- html - Ngx-moveable, Multiple Draggable 组件
- python - 如何找到数组列的平均值,然后从 pyspark 数据框中的每个元素中减去平均值?
- flutter - TextDirection 在 Flutter 中真正做了什么
- python - Python numpy 索引返回的形状
- amazon-s3 - 如何让日常数据从 AWS s3 传输到 GCP GCS?
- python - 如何有效地将多个 pyarrow 表(>1,000 个表)写入分区 parquet 数据集?
- reactjs - 使用 Google Picker API 后尝试下载文件时出现错误 401
- terraform - 如何知道使用了哪个 Terraform 模块版本?
- python - python 的 ImportErrors 和 ModuleNotFoundError
- c++ - c++ OPENSSL中错误的SHA1