chrome 在 webdriver headless 模式下上传文件 window
chrome file upload window in webdriver headless mode
我无法在 selenium 中控制 chrome 文件上传 window,所以我使用 pyautoit,这在桌面模式下工作正常,但我需要它 运行 在无头 linux 容器。
有什么方法可以在无头模式下控制它吗? (它是一个带有复杂上传脚本的单页应用程序,我还没有弄清楚内部 post 的工作原理,希望我可以用 selenium 绕过它)。
webdriver.find_element(By.XPATH, "//label[@class='button']").click()
time.sleep(2.0)
autoit.win_wait_active("Open", 5)
autoit.send(fname)
autoit.send("{ENTER}")
我正在使用 python 3.10.4,selenium 4.1.3
通常指定用于从本地系统浏览文件的按钮的 xpath 为 //input[@type='file']
您可以使用此 xpath 将密钥发送到本地路径
webdriver.find_element(By.XPATH, "//input[@type='file']").send_keys("Your Local path")
为了获得最佳实践,您应该将要上传的文件存储在 git 存储库中,并提供 git 克隆 path/git 文件所在的存储库路径。
下面的例子在Java。
例如System.getProperty("user.dir")+"\"+"src/test/resources/TestData/Input/"+"yourFile"
我无法在 selenium 中控制 chrome 文件上传 window,所以我使用 pyautoit,这在桌面模式下工作正常,但我需要它 运行 在无头 linux 容器。
有什么方法可以在无头模式下控制它吗? (它是一个带有复杂上传脚本的单页应用程序,我还没有弄清楚内部 post 的工作原理,希望我可以用 selenium 绕过它)。
webdriver.find_element(By.XPATH, "//label[@class='button']").click()
time.sleep(2.0)
autoit.win_wait_active("Open", 5)
autoit.send(fname)
autoit.send("{ENTER}")
我正在使用 python 3.10.4,selenium 4.1.3
通常指定用于从本地系统浏览文件的按钮的 xpath 为 //input[@type='file']
您可以使用此 xpath 将密钥发送到本地路径
webdriver.find_element(By.XPATH, "//input[@type='file']").send_keys("Your Local path")
为了获得最佳实践,您应该将要上传的文件存储在 git 存储库中,并提供 git 克隆 path/git 文件所在的存储库路径。
下面的例子在Java。
例如System.getProperty("user.dir")+"\"+"src/test/resources/TestData/Input/"+"yourFile"