- from selenium import webdriver
- driver=webdriver.Chrom(executable_path='驱动') 创建浏览器的对象
- driver.get(网址) 打开网址
- driver.find_element() / driver.find_elements('By.id',"value") 用id定位元素 ,也可以用class或其他。注意要导入By。from selenium.webdriver.common.by import By
- 在指定节点输入内容:node.send_keys('')
- 按钮节点的点击事件:node.click()
- 执行js代码:driver.execute_script().例:driver.execute_script('document.documentElement.scrollTo(0,2000)'),滚轮滑动
- 用page_source获取页面源码
- 切换框架:driver.switch_to.frame(frame节点对象)
- 页面前进:forward()。页面后退:back()
- 动作链:from selenium.webdriver import ActionChains,用于滑块移动
生成动作链对象 act=ActionChains(driver) 把对象绑定到浏览器中
act.click_and_hold(node)点击和长按操作
act.move_by_offset(10,10).perform().move_by_offset 移动,perform立即执行
12.driver.quit()
13.对某网址发送请求后,用driver.get_cookies()获取由字典组成的列表,叫做JsonCookies。需要将JsonCookies解析成浏览器携带的cookies形式
14.规避检测:实现js注入,规避检测。先导入;from scrapy.webdriver.chrome.options import Options.创建op=Options()对象,op.add_argument().然后创建driver对象,driver=webdriver.Chrome(‘驱动器文件’,options=op) selenium 在打开页面之前运行js文件。with open(‘js文件’)as f : js=f.read(). execute_cdp_cmd 执行cdp命令,在浏览器开发者工具中执行相关指令,完成相关操作。之后可打开网页。
driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument",{'source':js})