作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将文件上传到 https://the-internet.herokuapp.com/upload通过 Chrome 使用 Appium。但它导致ERR_ACCESS_DENIED
一直出错。
该文件位于 Download
我设备的文件夹。
引用下图:
我也尝试了以下功能以及不同的组合,但没有帮助:noReset, autoGrantPermissions, fastReset
.
我的脚本 :
from appium import webdriver
import time
def execute_script():
driver = webdriver.Remote(
command_executor='http://0.0.0.0:4723/wd/hub',
desired_capabilities={
"platform": "android",
"platformName": "android",
"platformVersion": "10",
"deviceName": "<xxxx>",
"udid": "<xxxx>",
"browserName": "chrome",
"automationName": "UIAutomator2",
"chromeOptions": {
"w3c": False
},
# "autoGrantPermissions": True,
# "noReset": True,
# "fastReset": True,
# "fullReset": False
}
)
driver.get('https://the-internet.herokuapp.com/upload')
up = driver.find_element_by_id("file-upload")
up.send_keys("/sdcard/Download/file.pdf")
driver.find_element_by_id("file-submit").click()
driver.quit()
driver = execute_script()
该脚本执行良好,直到
send_keys
步。但只要
file-submit
执行点击,它会导致提到的错误。我试过
https://fileconvoy.com/以及它会导致相同的错误。
1.17.0
(从 1.10.x
到 1.20.x
的试用版)adb -P 5037 shell 'pm grant com.android.chrome android.permission.READ_EXTERNAL_STORAGE android.permission.WRITE_EXTERNAL_STORAGE'
browserName: "Chrome"
,我也试过指定appPackage and appActivity
开始 Chrome 。但没有运气。 最佳答案
原来,Chrome 无法访问 /sdcard/Download/
自动化期间的目录。
尝试从 /data/local/tmp/
上传文件目录(通过先将文件推到那里)工作。
其次,考虑到路径/sdcard/Download/
的文件下载和上传场景,Android 9和Android 10+略有不同。 (尚未为此提出理由):
/data/local/tmp/
(我发现唯一适用于 Android 10 及更高版本的东西)。 /sdcard/Download/
上传目录。 关于android - Appium - 使用 Chrome 将文件上传到网络 - ERR_ACCESS_DENIED,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67213841/
我是一名优秀的程序员,十分优秀!