selenium + python + Chrome自动化实现全站文章的链接获取并发送请求(解决筛选列表,循环列表取多个元素,网页元素被覆盖点击被拦截等问题)

本文利用selenium和Chrome浏览器自动化获取网站所有文章链接,解决了列表筛选、循环遍历多元素及网页元素被遮挡无法点击的问题。通过DOM和window操作,实现了高效的数据抓取。代码已详细注释,适合学习Python自动化的朋友。
摘要由CSDN通过智能技术生成

代码中已经做详细注释,这里不再赘述了

获取cookies

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2020/12/20 11:00
# @Author  : huni
# @File    : cookies获取.py
# @Software: PyCharm
from selenium import webdriver
from time import sleep
import json
if __name__ == '__main__':
    driver = webdriver.Chrome(executable_path='./chromedriver.exe')
    driver.maximize_window()
    driver.get('https://passport.csdn.net/login?code=public')
    sleep(2)
    driver.find_element_by_xpath('/html/body/div[2]/div/div/div[1]/div[2]/div[5]/ul/li[1]/a').click()
    sleep(6)
    dictCookies = driver.get_cookies()  # 获取list的cookies
    jsonCookies = json.dumps(dictCookies)  # 转换成字符串保存
    with open('csdn_cookies.txt', 'w') as f:
        f.write(jsonCookies)
    print('cookies保存成功!')

扫码之后,再进行下面的代码

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2021/1/7 17:31
# @Author  : huni
# @File    : 获取文章href.py
# @Software: PyCharm
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import json
from selenium.webdriver.common.action_chains import ActionChains
from time import sleep
from lxml import etree

def browser_initial():
    # chrome_options = Options()
    # chrome_options.add_argument('--headless')     # 无头
    # chrome_options.add_argument("--window-size=1920,1080")    # 屏幕大小
    # browser = webdriver.Chrome(options=chrome_options)
    options = webdriver.ChromeOptions()
    options.add_experimental_option('excludeSwitches', ['enable-automation']
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值