python - Selenium:为什么 "send_keys(Keys.RETURN)"不工作时 "click()"工作?

标签 python ubuntu selenium phantomjs

关闭。这个问题需要debugging details .它目前不接受答案。












编辑问题以包含 desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem .这将帮助其他人回答问题。


7年前关闭。







Improve this question




我有一个与按钮相对应的元素(准确地说是 Bing 搜索按钮),它可以响应并正常工作:

button.send_keys(Keys.RETURN)

但是当我尝试时:
button.click()

它还给我“\'\'undefined\' 不是一个对象”。有人可以提供和解释吗?如果相关,我使用 PhantomJS 作为浏览器,并且在搜索字段中输入了文本。

我的代码可以在我的 Mac 上完美运行,但它现在无法在我的 Ubuntu 服务器上运行。这可能很重要。

导致问题的原因似乎是当您在 Bing 搜索栏中输入文本时,该栏会展开并且按钮会向右移动大量。仍然,为什么发送返回键时单击方法不起作用?

最佳答案

有时它可能会发生。
尝试:

  • 检查选择器!也许其他元素具有相同的类(例如),但您使用 find_element_by_class_name ,它为 SINGLETON 元素 fork 。检查追溯以获取更多信息。
  • AJAX 问题。一些网站使用了大量的 JS,请求需要时间,甚至由于某些原因点击无法正常工作。
  • 由于之前的问题,请尝试使用 JavaScript 单击元素。如果可以,试试driver.execute_script()方法。
  • 关于python - Selenium:为什么 "send_keys(Keys.RETURN)"不工作时 "click()"工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24396895/

    相关文章:

    jquery - 使用 css 选择器检查第一个元素

    python - int 的文字无效 - 从 CSV 文件获取原始数据

    python - Django ConnectionAbortedError : [WinError 10053] An established connection was aborted by the software in your host machine

    Python,使用 os.system - Python 脚本是否有办法在不等待调用完成的情况下通过它?

    bash - 在 Shell 脚本中绕过 Yes/No

    java - 我想获取 jdk 的路径以在 ubuntu 中设置 JAVA_HOME

    java - 比较两个不同格式的日期对象

    python - 这个 Python 单行代码是什么意思?

    ubuntu - 在安装新版本操作之前无法制作 './usr/bin/ssh' 的备份链接 不允许操作

    python - 使用 Selenium + Python 将测试用户输入从一个输入镜像到另一个输入