python+selenium+chromes实现自动化
前言一、环境和前期准备二、代码示例总结
前言
以前都用python scrapy(各种ip代理池啥的非常麻烦)爬虫,由于现在的反爬虫机制太强大,经常会被限制,实际运行中得不到良好的作用,因此采用自动化以满足需求。
一、环境和前期准备
pip install seleniumchromedriver(与谷歌浏览器版本对应的驱动,下载后放到与python.exe同目录下,anoconda下的虚拟环境均可) chromedriver下载地址
二、代码示例
from selenium
import webdriver
url
= "https://www.baidu.com/"
chrome_options
= webdriver
.ChromeOptions
()
chrome_options
.add_experimental_option
('excludeSwitches', ['enable-automation'])
browser
= webdriver
.Chrome
(options
=chrome_options
)
browser
.execute_cdp_cmd
('Page.addScriptToEvaluateOnNewDocument', {'source': 'Object.defineProperty(navigator,"webdriver",{get:()=>undefined})'})
browser
.get
(url
)
运行会自动打开百度:
操作网站内容一般用xpath语法:如
username
= browser
.find_element_by_xpath
('//*[@id="userid"]')
username
.send_keys
('aaa')
password
= browser
.find_element_by_xpath
('//[@id="password"]')
password
.send_keys
('tqlaaa')
browser
.find_element_by_xpath
('//*[@id="b_login"]').click
()
browser
.find_element_by_xpath
('//*[@id="menuTable"]/tbody/tr/td[2]/a/div/img').click
()
总结
以上就是自动化的简单体验!