Slenium入门

360打开Chrome:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

url = “ ”
exe_data = r'C:\Users\lsk17\AppData\Local\360Chrome\Chrome\Application\360chrome.exe'  # 浏览器根目录所在地
chrome_options = Options()
chrome_options.binary_location = exe_data

browser = webdriver.Chrome(chrome_options=chrome_options)
browser.get(url)
等待信息出现:
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)


猜你喜欢

转载自www.cnblogs.com/lskai/p/11924482.html