zoukankan      html  css  js  c++  java
  • Slenium入门

    selenium 为浏览器测试框架,可以调用浏览器webdriver模拟浏览器操作
    360打开Chrome:
    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    
    url = “ ”
    exe_data = r'C:Userslsk17AppDataLocal360ChromeChromeApplication360chrome.exe'  # 浏览器根目录所在地
    chrome_options = Options()
    chrome_options.binary_location = exe_data
    
    browser = webdriver.Chrome(chrome_options=chrome_options)
    browser.get(url)
    html = browser.page_source # 获得页面源码
    等待信息出现:
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.support.wait import WebDriverWait
    
    # 1. 强制等待 第一种也是最简单粗暴的一种办法就是强制等待sleep(xx)
    # 2. 隐性等待 第二种办法叫隐性等待,implicitly_wait(xx)
    #    需要特别说明的是:隐性等待对整个driver的周期都起作用,所以只要设置一次即可,我曾看到有人把隐性等待当成了sleep在用,走哪儿都来一下…
    # 3. 显性等待 第三种办法就是显性等待,WebDriverWait,配合该类的until()和until_not()方法,就能够根据判断条件而进行灵活地等待了。
    
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.support.wait import WebDriverWait
    
    try:
        WebDriverWait(driver, 20, 0.5).until(EC.presence_of_element_located(By.LINK_TEXT, 'CSDN'))
        print driver.find_element_by_link_text('CSDN').get_attribute('href')
    finally:
        driver.close()
    EC.presence_of_element_located  EC.text_to_be_present_in_element
    在网页中获取信息:
    element = driver.find_element_by_id()
    element = driver.find_element_by_name()
    element_list = driver.find_elements_by_id()
    element = driver.find_elements_by_name()
    element = driver.find_element_by_xpath("//input[@id="passwd-id"]")
    element = driver.find_elements_by_xpath("//div[@id="passwd-id"]")
    滑动滚动条:
    #将滚动条移动到页面的底部
    js="var q=document.documentElement.scrollTop=100000"  
    driver.execute_script(js)  
    time.sleep(3)  
    #将滚动条移动到页面的顶部  
    js="var q=document.documentElement.scrollTop=0"  
    driver.execute_script(js)  
    time.sleep(3)  
    #若要对页面中的内嵌窗口中的滚动条进行操作,要先定位到该内嵌窗口,在进行滚动条操作 
    js="var q=document.getElementById('id').scrollTop=100000" 
    driver.execute_script(js) 
    time.sleep(3)

    Chrome_options.add_argument('--headless')设为无头模式,可以不弹出浏览器窗口



  • 相关阅读:
    day 011总结
    day 010 总结
    day 10作业
    day 009总结
    day 008总结
    wireshark 解密tls消息
    js基础 数组slice
    js基础 数组splice
    js基础 Array.from
    js基础 Array.of
  • 原文地址:https://www.cnblogs.com/lskai/p/11924482.html
Copyright © 2011-2022 走看看