• Selenium-几种操作


    元素定位之后就要对它进行操作了,常见的集中操作如下:

    click()  点击元素  eg.输入内容后,点击操作

    send_keys("内容")  模拟按键输入  eg:百度输入框,输入内容

    clear()  清除元素的内容  eg:清除百度输入框的内容

    submit()  提交表单  eg:driver.find_element_by_id("su").submit()  #百度的搜索按钮,可以用click,也可以用submit

    text  获取元素的文本内容  eg:登录帐号后,提取帐号名称,并作判断,是否登录成功

    is_displayed  判断元素是否可见  eg:driver.find_element_by_id("kw").is_displayed()

    #! /usr/bin/env python
    #coding=utf-8
    
    '''
    元素定位,下面的方法都要掌握,应用中一种不行就换个方式
    '''
    
    from selenium import webdriver
    import time
    
    url = "http://www.baidu.com"
    driver = webdriver.Firefox()
    driver.get(url)
    time.sleep(5)
    
    #识别元素并操作
    #一般有如下几种方法,其中id最为常用.这里需要注意识别元素一定要用唯一id
    #记忆方法的时候,注意规律即可,非常容易记忆
    
    #模拟输入
    driver.find_element_by_id("kw").send_keys("博客园")
    #模拟表单的提交按钮操作,新版百度搜索不需要这个了,他会自动搜索,再次看出ui的维护成本很高
    #driver.find_element_by_id("kw").submit()
    #driver.find_element_by_name("wd").send_keys("博客园")
    #driver.find_element_by_class_name("s_ipt").send_keys("博客园")
    time.sleep(5)
    
    
    '''
    #点击事件
    driver.get(url)
    driver.find_element_by_link_text("新闻").click()
    time.sleep(5)
    
    #对于超级连接比较长的可以尝试采用下面的方法,类似一种模糊匹配
    driver.find_element_by_partial_link_text("首页").click()
    time.sleep(5)
    
    
    #xpath神器,理论上来说,没有path定位不到的元素
    #这里使用firepath查看
    #xpath你理解为树形结构就OK,我们也可以通过类似上下级的关系来一层层定位
    
    
    driver.get(url)
    driver.find_element_by_xpath(".//*[@id='kw']").send_keys("博客园")
    #driver.find_element_by_id("su").submit()
    time.sleep(5)
    
    #清除内容
    driver.find_element_by_id("kw").clear()
    time.sleep(5)
    #返回
    driver.back()
    time.sleep(5)
    
    #利用两个元素属性进行唯一定位 and or,只适用于xpath
    driver.find_element_by_xpath(".//*[@id='kw' and @name='wd']").send_keys("博客园")
    time.sleep(5)
    
    #获取元素的文本内容
    driver.get("http://blog.csdn.net/jillliang/article/details/8747810")
    time.sleep(5)
    #blog_name = driver.find_element_by_class_name("header").text
    #blog_name = driver.find_element_by_id("blog_title").text
    blog_name = driver.find_element_by_xpath(".//*[@id='blog_title']/h2/a").text
    print(blog_name)
    '''
    driver.quit()
    

      

  • 相关阅读:
    常系数齐次线性递推
    【CF961G】Partitions(第二类斯特林数)
    【CF715E】Complete the Permutations(容斥,第一类斯特林数)
    【BZOJ4671】异或图(斯特林反演)
    【CF960G】Bandit Blues(第一类斯特林数,FFT)
    【BZOJ2159】Crash的文明世界(第二类斯特林数,动态规划)
    【LOJ#6374】网格(二项式反演,容斥)
    组合计数和反演
    有标号的DAG计数(FFT)
    [复习]多项式和生成函数相关内容
  • 原文地址:https://www.cnblogs.com/R-bear/p/7468204.html
Copyright © 2020-2023  润新知