zoukankan      html  css  js  c++  java
  • selenium iframe 定位

    selenium iframe 定位

    发现NAME属性不能定位,不具有唯一性,有三个NAME值一样的IFRAME。

    当时具体情况是:IFRAME有三个属性,NAME,SRC,CLASS。三个IFRAME除了SRC值不一样外,其它两个属性的值都一样。

    所以只能通过SRC值来区分IFRAME了。

    最后解决是通过:dom=document.querySelector("[src='.....']")   这个语法定位成功了

    举个栗子:

    <iframe src="myframetest.html" />

    用xpath定位,传入WebElement对象:

    driver.switch_to.frame(driver.find_element_by_xpath("//iframe[contains(@src,'myframe')]"))

    如:

    driver.switchTo().frame(driver.findElement(By.xpath("//iframe[contains(@src,'mail.qq.com')][1]")));
    //driver.switchTo().frame(driver.findElement(By.xpath("//iframe[contains(@src,'mail.qq.com&v=110702')]")));

    多层iframe 


    driver.switchTo().defaultContent(); driver.switchTo().frame(1); //第一个iframe,没有id/name,可以取下标来定位

    driver.switchTo().frame("layui-layer-iframe1"); //第二层iframe

    driver.findElement(By.name("opinion")).clear(); //操作第二层iframe下面的元素

    driver.findElement(By.name("opinion")).sendKeys("test opinion!");

    driver.findElement(By.xpath("//button[@type='submit']")).click();

    sleep(2000); driver.switchTo().defaultContent(); //退出iframe,返回列表操作

    driver.switchTo().frame(1); //进入列表那层iframe再进行操作

    Selenium定位多个iframe嵌套中的元素

    自动化测试基础篇--Selenium iframe定位问题

    selenium iframe 定位

    关于iframe定位碰到的问题。 

  • 相关阅读:
    java爬取Excel表格
    drf-view
    django--View
    tornado的Application的一些事儿
    tornado的路由分发
    线程和asyncio的比较
    GIL
    else的使用
    协程
    生成器代替迭代器
  • 原文地址:https://www.cnblogs.com/hcxy2007107708/p/12907890.html
Copyright © 2011-2022 走看看