zoukankan      html  css  js  c++  java
  • 通过id、classname定位元素,程序仍报找不到元素的原因

    很多人在用selenium定位页面元素的时候会遇到定位不到的问题,明明元素就在那儿,用firebug也可以看到,就是定位不到,这种情况很有可能是frame在搞鬼。
    我们知道了原因,你现在就解决问题。
    switch_to.frame可以通过id,classname,tag_name来定位的,当然也可以根据 element来定位。


    from selenium import webdriver
    import time

    driver = webdriver.Firefox()
    driver.get("http://www.126.com")
    print("Before login.........")
    # 打印当前页面title
    title = driver.title
    print(title)
    # 打印当前页面URL
    now_url = driver.current_url
    print(now_url)
    # 执行邮箱登陆
    driver.find_element_by_id('lbNormal')
    driver.switch_to.frame(driver.find_element_by_xpath('//*[@id="x-URS-iframe"]'))
    driver.find_element_by_name("email").clear()
    driver.find_element_by_name("email").send_keys("username")
    driver.find_element_by_name("password").clear()
    driver.find_element_by_name("password").send_keys("password")
    driver.find_element_by_id("dologin").click()
    # driver.switch_to.default_content()
    time.sleep(5)
    print("After login......")
    # 再次打印当前页面title
    title = driver.title
    print(title)
    # 打印当前页面URL
    now_url = driver.current_url
    print(now_url)
    # 获得登陆的用户名
    # user =driver.find_element_by_name('email').text


    driver.quit ()
  • 相关阅读:
    python 装饰器
    python 环境迁移之requirements.txt (window环境)
    selenium 元素查找与属性
    pytest+allure(allure-pytest基于这个插件)设计定制化报告
    Capability配置
    python_excel
    python_连接mysql
    MySql_1
    appium_环境搭建
    appium_appium简介
  • 原文地址:https://www.cnblogs.com/lystbc/p/7661571.html
Copyright © 2011-2022 走看看