selenium的用法1
1.请求头参数的配置
self.options = webdriver.ChromeOptions()
self.options.add_argument('--headless')#浏览器请求头的设置
self.options.add_argument('--proxy-server=http://192.168.1.2:5000')
self.options.add_argument('user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0') #useragent的设置
self.browser = webdriver.Chrome(executable_path='..\lib\chromedriver.exe', chrome_options=self.options)
self.wait = WebDriverWait(self.driver, 60)
2.元素的获取和点击
input = self.wait.until(EC.element_to_be_clickable((By.XPATH, '//input[@id="input"]')))
input.send_keys(character)
button = self.driver.find_elements_by_xpath('//input[@id="btn"]')
button.click()
3.元素的可见设置
element = self.driver.find_element_by_xpath('//a[contains(text(),"下一页")]')
self.driver.execute_script("arguments[0].scrollIntoView();", element) #元素的可见
x,y=element.location #获取元素的位置
4.滚动条的滑动设置
1、滚动条回到顶部:
js="var q=document.getElementById('id').scrollTop=0"
driver.execute_script(js)
或者
js="var q=document.documentElement.scrollTop=0"
driver.execute_script(js)
2、滚动条拉到底部:
js="var q=document.getElementById('id').scrollTop=10000"
driver.execute_script(js)
或者
js="var q=document.documentElement.scrollTop=10000"
driver.execute_script(js)
3、滚动条拉到指定位置(具体元素):
target = driver.find_element_by_id("id_keypair")
driver.execute_script("arguments[0].scrollIntoView();", target)
4、通过模拟键盘DOWN(↓)来拖动:
driver.find_element_by_id("id").send_keys(Keys.DOWN)
5、scrollTo函数
--scrollHeight 获取对象的滚动高度。
--scrollLeft 设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离。
--scrollTop 设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离。
--scrollWidth 获取对象的滚动宽度。
#滚动到底部
js = "window.scrollTo(0,document.body.scrollHeight)"
driver.execute_script(js)
#滚动到顶部
js = "window.scrollTo(0,0)"
driver.execute_script(js)
5.代码展示
#!/usr/bin/env python # -*- coding: utf-8 -*- # @File : jss.py # @Software: PyCharm from selenium import webdriver import time from selenium.webdriver.common.keys import Keys url = 'http://www.cnblogs.com/sanzangTst/' browser = webdriver.Firefox() browser.get(url) time.sleep(3) # 拉到底部 js="var q=document.documentElement.scrollTop=10000" browser.execute_script(js) # 回到顶部 js="var q=document.documentElement.scrollTop=0" browser.execute_script(js) # 拖到指定位置 target = browser.find_element_by_id("homepage1_HomePageDays_DaysList_ctl05_DayList_TitleUrl_0") browser.execute_script("arguments[0].scrollIntoView();", target) #滚动到底部 js = "window.scrollTo(0,document.body.scrollHeight)" browser.execute_script(js) #滚动到顶部 js = "window.scrollTo(0,0)" browser.execute_script(js)