用 Python 作浏览器自动化操作应该选哪个模块?
- 现在需要打开 chrome,填扩展的地址打开扩展的页面,再分析扩展的页面信息
- 用 selenium 但是打开的是没有扩展的
- pywinauto 好像不能操作页面?
- 还有哪些可以用的?
用 Python 作浏览器自动化操作应该选哪个模块?
谁说 selenium 没扩展?可以安装好所有东西后,在启动 selenium 的时候制定载入配置的路径啊。
用Python做浏览器自动化,目前最主流的选择是Selenium和Playwright。
Selenium是老牌标准,生态成熟,支持多种语言和浏览器。它的WebDriver协议是W3C标准,社区资源非常丰富。基本操作很直观:
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get("https://www.example.com")
element = driver.find_element(By.ID, "some_id")
element.click()
driver.quit()
Playwright是微软开源的现代方案,原生支持异步,自动等待机制更智能,录制功能很实用。它的API设计更友好:
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch()
page = browser.new_page()
page.goto("https://www.example.com")
page.click("#some_id")
browser.close()
简单来说,需要兼容老项目或特定环境选Selenium,做新项目且追求开发效率和稳定性就选Playwright。
options = webdriver.ChromeOptions()
options.add_extension(EXT_PATH)
selenium
我需要扩展有数据,不是全新安装的扩展,chrome 是账号登录的,启动的时候加了配置目录也没用啊
selenium 耐操好用,打开谷歌的时候截图只会截取显示的部分不会截取整张网页,略坑,建议用 phantomjs,会截取整张网页。其他的都好。用过其他的,都没这玩意好用。
那个扩展是我用文件夹直接拖进去的,要怎么加?
暂时想到的是脚本精灵+bs4,ui 自动化 py 还是不好用
按键精灵,打错了
楼主这需求有点奇特呀。从正常测试的角度来说打开就应该是个新的浏览器,不然问题更多。
因为有个爬虫扩展,之前就制定了很多网站的规则,效果很好,所以想直接收集上面的数据,自己实现这个爬虫有点难度
selenium 可以呀,我就用 selenium 在 Travis-CI 上做 chrome 扩展的集成测试,一点问题都没有。
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
opt=Options()
opt.add_argument(‘load-extension=%s’%‘path/to/your/extension’)
opt.add_argument(’–user-agent=my_user_agent’)
b=webdriver.Chrome(chrome_options=opt)
把扩展根目录放到 path/to/your/extension,然后就能正常加载了。
你的扩展可以用 navigator.userAgent 判断当前环境,初始化数据什么的就可以顺便做到了。

