【问题标题】:Selenium sendkeys stop working for browse dialog boxSelenium sendkeys 停止为浏览对话框工作
【发布时间】:2022-06-10 21:30:28
【问题描述】:

我有这段代码可以运行多年,但突然停止了。找到元素并发送键(无错误),但浏览对话框中未显示任何文本。与流行的照片共享网站交互。为帖子选择图片。我已经尝试清除并单击其他帖子中的建议,但它会出错。我还尝试将我的文件从 .jpg 更改为 jpeg,就像其他帖子中提到的那样。

image_filename = 'C:\\filefolder\\subfolder\\image.jpeg'
driver.find_element(By.TAG_NAME, 'input').send_keys(image_filename) 
driver.find_element(By.XPATH, "//input[@type='file']").send_keys(image_filename)

<div class="_a3gq"> <div class="_a3gq"> <form enctype="multipart/form-data" method="POST" role="presentation"> <input accept="image/jpeg" class="_ac69" type="file"> </form></div><section class="_a997 _a998"><div></div>

【问题讨论】:

  • 添加元素的HTML 源以及您遇到的错误?
  • 感谢您的提问。我不确定如何获取 HTML 源代码,因为文件选择窗口会阻止 chrome,我无法将其带到前面。我没有收到错误,它正在完成,但没有像以前那样在文件选择中输入文件名。
  • 我会改进定位器...通过“输入”的标签名称定义不是很好。右键单击您尝试输入的输入框,然后选择“检查”。如果您谈论的是浏览对话框,则 Selenium 无法访问该对话框。通常你只需将文件的路径发送到 type="file" 的输入标签。这会将它的 value 属性设置为文件路径,就像您浏览了文件一样。然后,您可以提交要上传的表格。 (为方便起见,使用 .submit() 方法)
  • @pcalkins 我不确定如何使用提交,但我已将代码更改为driver.find_element(By.XPATH, "//input[@type='file']").send_keys(image_filename) 仍然存在同样的问题

标签: python selenium


猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-23
相关资源
最近更新 更多