当我尝试使用selenium 3.3.0上传文件时,收到以下错误消息:
selenium.common.exceptions.WebDriverException:消息:POST(...)与已知命令不匹配
触发此异常的代码是:
file_field.send_keys(os.getcwd() + '/myfile.txt')
这个错误是什么意思?
以下是整个代码:
from selenium import webdriver
import os
driver = webdriver.Firefox()
driver.get('file://' + os.getcwd() + '/form.html')
file_field = driver.find_element_by_id('file')
file_field.send_keys(os.getcwd() + '/myfile.txt')
这里是form.html:
<!DOCTYPE html>
<html>
<body>
<form method="post" enctype="multipart/form-data">
<input type="file" name="file" id="file">
<input type="submit" name="submit" value="submit">
</form>
</body>
</html>
答案 0 :(得分:2)
看起来这是Selenium中的一个错误。要解决此问题,请在driver._is_remote = False
行之后添加driver = webdriver.Firefox()
。
有关详细信息,请参阅https://stackoverflow.com/a/42770761/373915。