selenium中定位iframe框

这是使用谷歌看到的源码.想要往里面输入内容,需要使用js.

这个iframe没有id,不能通过id直接定位到.但可以通用TagName来定位到iframe.

WebDriver中定位的代码如下:

1 String js="document.getElementsByTagName(‘iframe‘)[0].contentWindow.document.body.innerHTML=‘在iframe框中输入的内容‘";
2 ((JavascriptExecutor)driver).executeScript(js);

selenium1中的定位代码如下:

1 String js="document.getElementsByTagName(‘iframe‘)[0].contentWindow.document.body.innerHTML=‘在iframe框中输入的内容‘";
2 selenium.runScript(js);

可以看出来,其实WebDriver和selenium定位iframe的方式是一样的,区别只是执行js的方法。

PS:如果iframe存在id,可以通过id定位。假设id=iframe,定位的代码如下:

1  String js="document.getElementById(‘iframe‘).contentWindow.document.body.innerHTML=‘在iframe框中输入的内容‘";
2  ((JavascriptExecutor)driver).executeScript(js);
时间: 2024-07-30 13:39:22

selenium中定位iframe框的相关文章

Selenium webdriver定位iframe里面元素

在查找元素过程中,直接通过id或者xpath等找不到元素,查看页面源代码发现元素是属于iframe里,例如: <div class="wrap_login"> <iframe class="frame_login" src="https://exaccount.eastmoney.com/home/login?request=%7b%22agentPageUrl%22%3a%22https%3a%2f%2fpassport.eastmon

Java中通过Selenium WebDriver定位iframe中的元素

问题:有一些元素,无论是通过id或是xpath等等,怎么都定位不到. 分析:这很可能是因为你要定位的元素被嵌套在了当前页面的一个iframe元素中,Selenium对iframe中的元素有特殊的定位规则,WebDriver不能够直接进行定位. 解决办法:我们要把这个iframe元素找出来,让WebDriver转移到这个iframe元素上,之后再让WebDriver对iframe中的元素进行定位. 因为最近在用Java来做一些东西,所以就顺便说一下Selenium在Java环境下的使用,总共分三步

selenium 中在 iframe 内的元素定位

有些时候 元素明明就在 但是通过什么方式定位都提示 定位不到元素 此时就要考虑元素是不是内嵌在iframe 中 对于内嵌在 ifra中的元素定位 首先定位到 iframe 元素 例如 iframe = drive.find...  这里只要能定位到iframe即可,用什么方式都可以 然后是进入到iframe 通过这个方式进入 driver.switch_to.frame() 原文地址:https://www.cnblogs.com/wulinmiao/p/11478261.html

selenium中嵌套iframe的切换

前言:适用于多级iframe操作 1.普通的切换iframe from selenium import webdriver driver = webdriver.Firefox() driver.switch_to.frame(0) # 1.用frame的index来定位,第一个是0 # driver.switch_to.frame("frame1") # 2.用id来定位 # driver.switch_to.frame("myframe")# 3.用name来定

selenium+python定位iframe元素

因为大部分iframe没有ID和css标签,所有先定义iframe,找到iframe标签 iframe=driver.find_element_by_tag_name("iframe") 进入iframe标签driver.switch_to_frame(iframe); driver.find_element_by_xpath("/html/body").send_keys("99999999") 退出iframe标签driver.switch_

(selenium+python)_UI自动化04_定位iframe框架内元素

什么是iframe? iframe是HTML标签,作用是文档中的文档(即在当前 HTML 文档中嵌入另一个HTML文档),或者浮动的框架(FRAME).iframe元素会创建包含另外一个文档的内联框架(即行内框架). iframe框架内元素定位 selenium中定位iframe内元素,需先切换到iframe框架内,然后再进行元素定位,否则会报错找不到元素. 一.iframe常用切换 driver.switch_to_frame(iframe_element) # 切换至iframe drive

python selenium中iframe切换、window切换方法

一.selenium中iframe切换方法: 方法一:switch_to.frame frame函数中提供了三种定位方法: driver.switch_to.frame('frame_name') driver.switch_to.frame(1) driver.switch_to.frame(driver.find_elements_by_tag_name("iframe")[0]) 以腾讯课堂为例: from selenium import webdriver from time

selenium元素定位不到之iframe

我们在使用selenium的18中定位方式的时候,有时会遇到定位不上的问题,今天我们就来说说导致定位不上的其中一个原因---iframe 问题描述:通过firebug查询到相应元素的id或name等,但在定位此元素的时候就是报错,提示: selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element 问题原因:元素定位不到 问题分析:通过firebug可以看到,但就是定位不到,这时候很有可能

Python3.x:Selenium中的webdriver进行页面元素定位

Python3.x:Selenium中的webdriver进行页面元素定位 页面上的元素就像人一样,有各种属性,比如元素名字,元素id,元素属性(class属性,name属性)等等.webdriver就是利用元素的这些属性来进行定位的. 可以用于定位的常用的元素属性: id name class name tag name link text partial link text xpath css selector 对应于webdriver中的定位一个元素方法分别是: driver.find_e