我正在尝试使用类似的东西,类似于我的火狐选项,但我的测试似乎无法处理下载弹出窗口,有什么建议吗?谢谢
"safari": {
"downloadFolder": "Users/chef/Downloads/",
"desiredCapabilities": {
"browserName": "Safari",
'safari:safariOptions': {
prefs: {
'safari.options.dataDir':'Users/chef/Downloads/',
'safari.helperApps.neverAsk.saveToDisk':'image/jpeg;application/binary;application/pdf;text/plain;application/text;text/xml;application/xml;text/html;text/csv;video/mp4'
},
}
}
}
我发现现有的帖子可能会提供一些背景信息
最佳答案
Selenium 有一些切换窗口的方法,你可以在这篇文章中看到:https://saucelabs.com/blog/selenium-tips-working-with-multiple-windows
如果您要存储原始窗口的 ID,然后使用 switchTo() 方法并转到原始窗口,希望您可以处理与下载弹出窗口交互的任何问题:
//Store the ID of the original window
const originalWindow = await driver.getWindowHandle();
//Check we don't have other windows open already
assert((await driver.getAllWindowHandles()).length === 1);
//Click the link which opens in a new window
await driver.findElement(By.linkText('new window')).click();
//Wait for the new window or tab
await driver.wait(
async () => (await driver.getAllWindowHandles()).length === 2,
10000
);
//Loop through until we find a new window handle
const windows = await driver.getAllWindowHandles();
windows.forEach(async handle => {
if (handle !== originalWindow) {
await driver.switchTo().window(handle);
}
});
//Wait for the new tab to finish loading content
await driver.wait(until.titleIs('Selenium documentation'), 10000);
有关其他示例,请参阅 Selenium 文档:https://www.selenium.dev/documentation/webdriver/browser_manipulation/#switching-windows-or-tabs .
不确定这是否有帮助,请告诉我!
关于javascript - 如何使用 Nightwatch 处理 Safari 中的文件下载弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70012703/