zoukankan      html  css  js  c++  java
  • python学习-python webdriver API(转载)

     
     #参考虫师的文章及书,整理以下使用方法,方便自己查阅。
    
    #1.导入webdriver包
    
    from selenium import webdriver
    
    #2.打开浏览器,打开网站
    
    browser = webdriver.Firefox()
    browser.get("https://www.baidu.com")
    
    #3.浏览器最大化
    
    browser.maximize_window()
    
    #4.自定义浏览器窗口大小
    
    browser.set_window_size(700,800)
    
    #5.关闭浏览器
    browser.quit()
    
    #6.浏览器前进后退
    first_url = 'https://www.baidu.com/'
    second_url = 'https://news.baidu.com'
    browser.get(first_url)
    browser.get(second_url)
    browser.back() #后退
    browser.forward() #前进
    
    #7.对象定位
    find_element_by_id() #常用
    find_element_by_name() #常用
    find_element_by_class_name() #用class属性定位
    find_element_by_tag_name() #容易重复,不太实用
    find_element_by_link_text() #通过文字链接定位
    find_element_by_partial_link_text() #通过部分文字链接定位
    find_element_by_xpaht() #常用
    find_element_by_css_selector() #不太理解,需再复习
    
    
     #对象定位后常用方法:clear()  send_keys()   click()  submit()
    
      browser.find_element_by_id("name").send_keys("jilu1219")
    
      browser.find_element_by_id("submit").click()
    #8.获取元素的文本
    text = browser.find_element_by_link_text("新闻").text
    print text

    #获取元素的属性
    attr = browser.find_element_by_id("kw").get_attribute("class")
    print attr

    #返回元素是否可见
    result = browser.find_element_by_id("kw").is_displayed()
    print result

    #此外还有其余方法:
    id
    is_enabled()
    is_selected()
    location
    location_once_scrolled_into_view
    parent
    tag_name
    rect

    #9.键盘事件
    from selenium.webdriver.common.keys import Keys

    send_keys(Keys.BACK_SPACE) 删除键(BackSpace)
    send_keys(Keys.SPACE) 空格键(Space)
    send_keys(Keys.TAB) 制表键(Tab)
    send_keys(Keys.ESCAPE) 回退键(Esc)
    send_keys(Keys.ENTER) 回车键(Enter)
    send_keys(Keys.CONTROL,'a') 全选(Ctrl+A)
    send_keys(Keys.CONTROL,'c') 复制(Ctrl+C)
    send_keys(Keys.CONTROL,'x') 剪切(Ctrl+X)
    send_keys(Keys.CONTROL,'v') 粘贴(Ctrl+V)

    # 10.等待时间

    import time

    time.sleep(10)

    implicitly_wait()

    WebDriverWai()

    from selenium.webdriver.support.ui import WebDriverWait

    ....

    element = WebDriverWait(driver, 10).until(lambda x: x.find_element_by_id(“someId”))
    is_disappeared = WebDriverWait(driver, 30, 1, (ElementNotVisibleException)).
    until_not(lambda x: x.find_element_by_id(“someId”).is_displayed())



     
  • 相关阅读:
    hdu3613(扩展KMP)
    hdu4333(扩展KMP)
    poj 2185
    指数型母函数
    java高精度hdu4043
    卡特兰数简单应用
    hdu3625(第一类斯特林数)
    卡特兰数和斯特林数(转载)
    hdu4045(递推)
    java 中sendredirect()和forward()方法的区别
  • 原文地址:https://www.cnblogs.com/jilu1219/p/6750267.html
Copyright © 2011-2022 走看看