0


python selenium4 EdgeDriver动态页面爬取

截止至2024.7.16

chrome浏览器最新版本为126.0.6478.127

但对应的chromeDriver版本都低于此版本,因此,转用Edge浏览器

说明:仅记录自己使用过程中用到的一些代码和感受,看具体情况不定期更新。

selenium官方文档

1、安装selenium及下载EdgeDriver

pip install selenium

edgeDriver下载地址

2、在环境变量的path中,放入EdgeDriver的路径

3、抓取

import random
from selenium import webdriver
from selenium.webdriver.common.by import By

USER_AGENT_LIST = [   
    'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/530.6 (KHTML, like Gecko) Chrome/2.0.174.0 Safari/530.6',
    'Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US) AppleWebKit/525.19 (KHTML, like Gecko) Chrome/0.3.154.6 Safari/525.19',
    'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.13 (KHTML, like Gecko) Chrome/9.0.599.0 Safari/534.13',
    'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/534.8 (KHTML, like Gecko) Chrome/7.0.521.0 Safari/534.8',
    'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1b2pre) Gecko/20081015 Fennec/1.0a1',
    'Mozilla/5.0 (iPod; U; CPU iPhone OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5'
]

def user_agent():
    return random.choice(USER_AGENT_LIST)

url ='待爬网址'
edge_options = webdriver.EdgeOptions()
edge_options.use_chromium = True  # 指定使用基于Chromium的Edge浏览器
edge_options.add_argument("headless")  # 无界面模式
edge_options.add_argument("disable-gpu")  # 禁用GPU加速
#因为是遍历查询,所以加入了随机user-agent
edge_options.add_argument("user-agent="+user_agent())
driver = webdriver.Edge(options=edge_options)
driver.get(url)              

4、常用代码

1、查找elements(这返回的是数组,如果确定唯一的,则用find_element)

links = driver.find_elements(By.XPATH,'//div[@class="jbxx-content"]//a')

注:语法跟xpath相似

2、获取WebElement的属性值

cos = link.get_attribute("href")

3、执行click事件

#如果报ElementClickInterceptedException错误的话
driver.execute_script("arguments[0].scrollIntoView();",link)
#执行点击事件
link.click()

4、获取text值

text = driver.find_element(By.ID, "justanotherlink").text

本文转载自: https://blog.csdn.net/yangjiaosun/article/details/140468705
版权归原作者 杨兜兜 所有, 如有侵权,请联系我们删除。

“python selenium4 EdgeDriver动态页面爬取”的评论:

还没有评论