首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >无法使用非角度网页的量角器定位iframe内的元素

无法使用非角度网页的量角器定位iframe内的元素
EN

Stack Overflow用户
提问于 2019-03-15 14:04:49
回答 2查看 114关注 0票数 0

执行下面的js时出现以下错误。请给我建议。

HTML:

代码语言:javascript
复制
<div id="iframeContainer">
<iframe class="selectedModulesIframe" frameborder="0" src="XXXXXX/?locale=en&amp;security={&quot;language&quot;:&quot;en&quot;,&quot;token&quot;:&quot;LYu1sFnCa6UHRTEs1Xsa3bs7&quot;,&quot;agentId&quot;:{&quot;id&quot;:&quot;SSHAIK&quot;},&quot;organisation&quot;:&quot;RAIL-NSWT&quot;,&quot;distributedContextID&quot;:null,&quot;securityModeCode&quot;:null}&amp;module=SCHEDULECHANGELIST" id="SCHEDULE1552627852125" name="SCHEDULE1552627852125" style="height: 519px; width: 1903px;">
</iframe>
</div>

<span id="w10" atdelegate="d6" class="xWidget" style="width:85px;margin:0px 0px 0px 10px;">
<a class="xLink_std" href="javascript:(function(){})()" tabindex="1&quot;">192429</a>
</span>

下面是我的代码:

代码语言:javascript
复制
browser.switchTo().frame(browser.driver.findElement(protractor.By.tagName('iframe'))).then(function(){
        console.log('Iframe switch')
        browser.driver.findElement(protractor.By.linkText("192429")).click().then(function(){
            console.log('action performed') 
        })

    })

也可以试试下面的代码:

代码语言:javascript
复制
browser.switchTo().frame(browser.driver.findElement(protractor.By.tagName('iframe'))).then(function(){
        console.log('Iframe switch')
        element(by.linkText('192429')).click();

})

错误响应:

16:49:46 I/launcher -运行1个WebDriver实例16:49:46 I/hosted -使用 的selenium服务器启动获取iframe Iframe开关[31mF[0m失败: 1)受影响的乘客通知验证时刻表更改UI消息:[31m失败:无此元素:无法定位元素:{“方法”:“链接文本”,“选择器”:“192429”}(会话信息: chrome=72.0.3626.121) (驱动程序信息: chromedriver=2.46.628402 (536cd7adbad73a3783fdc2cab92ab2ba7ec361e1),platform=Windows NT 10.0.15063 x86_64)[0m堆栈: NoSuchElementError:无此类元素:无法定位元素:{“方法”:“链接文本”,“选择器”:“192429”}(会话信息: chrome=72.0.3626.121) (驱动程序信息: chromedriver=2.46.628402 (536cd7adbad73a3783fdc2cab92ab2ba7ec361e1),platform=Windows NT 10.0.15063 x86_64)在Object.checkLegacyResponse (C:\Users\sshaik\eclipse-workspace\Protractor_Orion\protractor\node_modules\selenium-webdriver\lib\error.js:546:15)

HTML:

EN

回答 2

Stack Overflow用户

发布于 2019-03-15 14:15:56

试试下面的

代码语言:javascript
复制
const iframeLocator = browser.driver.findElement(by.css('iframe.selectedModulesIframe'));

   goToIFrame: function () {
        browser.switchTo().frame(iframeLocator );
    },

    goToDefault: function () {
        browser.driver.switchTo().defaultContent();
    }

希望能对你有所帮助

票数 0
EN

Stack Overflow用户

发布于 2019-03-18 08:24:29

代码语言:javascript
复制
//It works with the below code.

const iframeLocator = browser.driver.findElement(by.css('iframe.selectedModulesIframe'));
        	browser.switchTo().frame(iframeLocator).then(function(){
        		
        		var EC4 = protractor.ExpectedConditions;
        		browser.wait(EC4.visibilityOf(element(by.linkText('192429'))),70000).then(function(){
        			console.log('Got the iframe Id');
        		})
        		browser.driver.findElement(protractor.By.linkText('192429')).click().then(function(){
            
            })

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55176512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档