python+selenium+chromes实现自动化

it2025-09-01  6

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_argument("--headless") #打开就会隐藏谷歌浏览器后台运行,运行完关闭,只有谷歌和火狐支持无头,IE暂不支持 chrome_options.add_experimental_option('excludeSwitches', ['enable-automation']) browser = webdriver.Chrome(options=chrome_options) # 关闭自动化扩展信息(可加可不加) # chrome_options.add_experimental_option('useAutomationExtension',False) # 隐藏我是selenium的一个操作 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()

总结

以上就是自动化的简单体验!

最新回复(0)