Когда у меня есть объект с пробелами в имени свойства, я могу использовать деструктурирование объекта или нет?
blockquote>Да, вы можете использовать деструктурирование, но вы всегда можете назначать только идентификаторы (имена переменных). Поскольку они не позволяют пробелы, вы не можете использовать синтаксис коротких строк, где имя и идентификатор свойства одинаковы.
Было бы неплохо, если бы я мог назначить переменную с каким-то синтаксисом типа " as ':
blockquote>var {'my name' as name, age} = obj2;
as
предназначен для импорта / экспорта модулей. Для обычных объектов - как литералов, так и деструктурирования - вы используете двоеточие:
:var {'my name': name, age} = obj2;
@ Dayan54 - Пожалуйста, посмотрите на ниже. Я запускаю 4-6 потоков в SpecFlow, и у меня есть iFrames без проблем. Может быть, это поможет.
Также я видел это, поэтому я должен спросить. в некоторых iFrames, например, для входа в социальные сети для FaceBook или InstaGram, при входе он автоматически закрывает iFrame. Это затем выдаст ошибку на все, что вы делаете, потому что, если вы попытаетесь закрыть его, вы получите ошибку, так как она уже закрыта. Переключиться на основной контент не удастся, потому что вы уже там. Для этого я написал метод "GoToMainHandle".
//switch to the iframe name -
public static void SwitchToIframe(string frameName)
{
try
{
Driver.SwitchTo().Frame(frameName);
}
catch (NoSuchFrameException)
{
try
{
Driver.SwitchTo().Frame(frameName);
}
catch (NoSuchFrameException)
{
Console.WriteLine("Could not switch to IFrame");
throw;
}
}
}
//going back to main content when completed with iframe
public static void SwitchToMainContent()
{
Driver.SwitchTo().DefaultContent();
}
//If the iframe closes automatically, you still need to get back to the main window
public static void GoToMainHandle()
{
var handles = Driver.WindowHandles;
foreach (var handle in handles)
{
Driver.SwitchTo().Window(handle);
break;
}
}