Selenium文件上载使文件选择器窗口保持打开状态(OS/X和Python)

Selenium文件上载使文件选择器窗口保持打开状态(OS/X和Python),python,macos,selenium,file-upload,selenium-webdriver,Python,Macos,Selenium,File Upload,Selenium Webdriver,我可以使用Selenium将文件上载到远程服务器,但即使文件上载后,“文件选择器”对话框仍会出现,“您不能直接与本机OS文件浏览器对话框交互,但我们做了一些魔术,以便……”考虑到这里使用的“魔术”,我得到的行为边缘有点粗糙也就不足为奇了。但似乎有解决办法。根据我的提示,我有以下代码: import contextlib, time from selenium import webdriver import selenium.webdriver.common.action_chains as ac

我可以使用Selenium将文件上载到远程服务器,但即使文件上载后,“文件选择器”对话框仍会出现,“您不能直接与本机OS文件浏览器对话框交互,但我们做了一些魔术,以便……”考虑到这里使用的“魔术”,我得到的行为边缘有点粗糙也就不足为奇了。但似乎有解决办法。根据我的提示,我有以下代码:

import contextlib, time
from selenium import webdriver
import selenium.webdriver.common.action_chains as action_chains
with contextlib.closing(webdriver.Chrome()) as driver:
    driver.get("http://www.bing.com/images")
    driver.find_element_by_id("sbi_t").click()
    driver.find_element_by_id("sbi_file").click()
    driver.find_element_by_id("sbi_file_upload").send_keys("//Loch Ness Monster.jpg")
    print driver.current_url # Still `http://www.bing.com/images` :(
    file_upload = driver.find_element_by_id("sbi_file_upload")
    action_chains.ActionChains(driver).click(file_upload).perform() # https://stackoverflow.com/a/16864547/2829764

但在这最后,文件上传窗口仍然存在。我想我需要一个稍微不同的解决方法,因为我在Mac电脑上。有人能帮忙吗?

根本不要点击上传按钮

通过
send_keys()
设置文件名,然后单击“Go”(已测试并适用于我):


成功了,谢谢!我不得不注释掉最后一行以避免
selenium.common.exceptions.StaleElementReferenceException:Message:stale element reference:element未附加到页面文档
,但没有它,代码工作正常。
element = driver.find_element_by_id("sbi_file_upload")
element.send_keys('/Path/to/file.jpeg')
driver.find_element_by_css_selector('div#sbi_sb_ipt span[name=go]').click()