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 ()
  • 相关阅读:
    关于ajax无刷新分页 vue
    ajax无刷新分页
    querylist采集 爬虫
    201703-1 分蛋糕 Java
    201612-2 工资计算 Java
    201612-1 中间数 Java
    201609-2 火车购票 Java
    201609-1 最大波动 Java
    201604-2 俄罗斯方块 Java
    201604-1 折点计数 Java
  • 原文地址:https://www.cnblogs.com/lystbc/p/7661571.html
Copyright © 2011-2022 走看看