记录DrissionPage模块使用中的一些常常复用的代码,持续更新…
接管谷歌浏览器
from DrissionPage import ChromiumPage, ChromiumOptionsco = ChromiumOptions().set_local_port(4249)
driver = ChromiumPage(addr_or_opts=co)
创建driver,如果浏览器已开启优先接管,需要设置谷歌浏览器的启动参数
C:\Users\Gekte\AppData\Local\Google\Chrome\Application\chrome.exe --remote-debugging-port=4249 --remote-allow-origins=*
设置端口需要对应。
清理浏览器页面
driver.new_tab()
tab_ids = driver.tab_ids
for tab_id in tab_ids[:-1]:this_tab = driver.get_tab(tab_id)this_tab.close()
关闭所有页面只留下一个空页面。
获取tab
def get_tab(driver, html):tab_ids = driver.tab_idsfor tab_id in tab_ids:this_tab = driver.get_tab(tab_id)if html in this_tab.url:return this_tabelse:for tab_id in tab_ids:this_tab = driver.get_tab(tab_id)if this_tab.url == "about:blank":return this_tabreturn driver.new_tab()
传入
driver
对象以及链接(支持链接的一部分),查找是不是有能复用的tab
而无需创建新的。
执行Js代码
翻页到底部
driver.run_js("window.scrollTo({top: document.body.scrollHeight,behavior: 'smooth'});")