【问题标题】:Uploading a file to shopify with Selenium and Python使用 Selenium 和 Python 上传文件到 shopify
【发布时间】:2020-01-22 06:27:32
【问题描述】:

我在使用 selenium 将文件上传到 shopify 时遇到困难。Selenium 似乎找不到我需要将文件添加到的输入元素,我假设它与输入 type=hidden 部分有关?见图片。

我已经尝试了很多这样的变化

WebDriverWait(browser, 10).until(EC.element_to_be_clickable((By.XPATH, "//input[@id='files_']"))).send_keys("DIR/myfile.pdf')

并尝试执行脚本以尝试取消隐藏输入

container = browser.find_element_by_xpath("//input[@type='hidden']")
browser.execute_script("arguments[0].type = 'text';", container)

等等等等

shopifyapi 的文档不是最好的,我也不是最好的编码器。任何帮助将不胜感激。 谢谢!

【问题讨论】:

  • 请阅读为什么是screenshot of HTML or code or error is a bad idea。考虑使用基于格式化文本的相关 HTML、代码试验和错误堆栈跟踪来更新问题。
  • 如果您手动点击上传文件,是否会弹出浏览器来上传文件?然后尝试所有输入/标记他们。它可能会有所帮助
  • selenium 看不到点击它的按钮代码,手动点击将其带出 DOM

标签: python selenium file-upload shopify


【解决方案1】:

要上传文件,您必须将密钥发送到input,类型为file,通常它是隐藏的。将element_to_be_clickable 替换为presence_of_element_located 并尝试发送如下代码中的密钥:

WebDriverWait(browser, 10).until(EC.presence_of_element_located((By.CSS_SELECTOR, "input#files_"))).send_keys("DIR/myfile.pdf')

【讨论】:

  • 您,我的先生是个传奇,非常感谢它让我发疯了!必须记住 CSS_selector 调用。
猜你喜欢
  • 2020-12-05
  • 2021-02-08
  • 2021-01-09
  • 2017-10-02
  • 1970-01-01
  • 2012-01-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多