selenium学习总结1

一、selenium基础学习

#1.登录网页
from selenium import webdriver
driver=webdriver.Chrome() #创建浏览器对象
driver.get(url)           #转跳网页

#2.多种定位方式
driver.find_element_by_id()
driver.find_element_by_xpath()
driver.find_element_by_link_text()
driver.find_element_by_class_name()
driver.find_element_by_css_selector()

#3.对应标签的使用
button.click()  #按钮
search_input.send_keys("输入关键字")  #输入框

#4.获取标签属性
span.get_attribute('innerHTML')   #获取内部的所有文本,包括html标签
span.get_attribute('textContent') #获取内部文本内容

二、优化爬取速度

from selenium import  webdriver
from selenium.webdriver.chrome.options import Options
opt=webdriver.ChromeOptions() 
#设置为开发者模式
opt.add_experimental_option('excludeSwitches', ['enable-automation'])   
#禁止图片和css加载
prefs={"profile.managed_default_content_settings.images": 2,'permissions.default.stylesheet':2}  
opt.add_experimental_option("prefs",prefs)     
driver = webdriver.Chrome(options=opt)

三、反反爬技术

#1.完成滑块验证
from selenium.webdriver.common.action_chains import ActionChains
action=ActionChains(driver)                      #1.创建一个鼠标操作对象
slider=driver.find_element_by_id("nc_1_n1z")     #2.定位滑块对象
action.click_and_hold(slider)                    #3.持续选中滑块
action.move_by_offset(100,0)                     #4.移动相应的距离
action.release().perform()                       #5.释放滑块

#2.iframe嵌套结构
iframe=driver.find_element_by_id("sufei-dialog-content")  
driver.switch_to.frame(iframe)

#3.拖动滑动条
driver.execute_script("window.scrollTo(0,800);")
发布了122 篇原创文章 · 获赞 221 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/jjsjsjjdj/article/details/103334457