Я перепробовал множество предложений от stackoverflow, уже решивших этот вид проблемы, но не смог заставить его работать.Использование последней версии Chrome и драйвера в Windows env.Могут ли эксперты подойти и решить мою проблему?По-настоящему признателен.
describe('tutorial point non-angular to angular frame login', function() {
var username = element(by.id('username'));
var password = element(by.id('password'));
var loginform = element(by.id('form'));
beforeEach(function() {
browser.waitForAngularEnabled(false);
browser.get('https://www.tutorialspoint.com/angularjs/angularjs_login_application.htm');
browser.manage().window().maximize();
});
it('should be to switch non-angular to angular iframe and login', function(){
//var EC = protractor.ExpectedConditions;
//browser.wait(EC.visibilityOf($('iframe.result')), 20000);
//browser.switchTo().defaultContent();
browser.switchTo().frame(0);
//browser.switchTo().frame(element(by.css('iframe.result'))); // switching to angular iframe
//browser.waitForAngularEnabled(true);
//browser.waitForAngular();
//browser.sleep(4000);
//browser.wait(EC.visibilityOf(username), 20000);
username.sendKeys("test"); // tried xpath, css-selector, but no luck,
// probably iframe is not recgnised as AngularJs enabled
});
});
ERRR:
Message:
Failed: No element found using locator: By(css selector, *[id="username"])
Stack:
NoSuchElementError: No element found using locator: By(css selector, *
[id="username"])
HTML: Please refer to URL as it is public
Примечание. Использование python и selenium прекрасно работает с теми же локаторами.Я полагаю, локатор не проблема.