愿风带走 思绪|

愿风带走思绪

园龄:2年7个月粉丝:2关注:0

selenium相关配置

ChromeDriver驱动版本:https://googlechromelabs.github.io/chrome-for-testing/

# 创建一个配置对象
options = webdriver.ChromeOptions()

# 代理设置
options.add_argument('--proxy-server=http://221.131.165.71:27208')

# 携带本地用户信息启动,注意:在使用的时候要将运行的谷歌浏览器全部关闭
# --user-data-dir     携带的谷歌的本地信息,默认路径
options.add_argument("--user-data-dir=C:/Users/Administrator/AppData/Local/Google/Chrome/User Data/")

# 去除网站的一些自动化检测
# 此步骤很重要,设置为开发者模式,防止被各大网站识别出来使用了Selenium
options.add_experimental_option('excludeSwitches', ['enable-automation'])

# 就是这一行告诉chrome去掉了webdriver痕迹,令navigator.webdriver=false,极其关键
options.add_argument("--disable-blink-features=AutomationControlled")

# 修改为无界面模式
# 把chrome设置成无头模式,不论windows还是linux都可以,自动适配对应参数
options.add_argument('--headless')

# 封禁图片提高访问速度
prefs = {"profile.managed_default_content_settings.images": 2}
options.add_experimental_option("prefs", prefs)
options.add_argument('--disable-gpu')

# 实例化带有配置的driver对象
driver = webdriver.Chrome(options=options)

# 正常的使用selenium.....

# 优化等待页面
# selenium等待的三种方式:强制等待 隐式等待 显式等待

driver.implicitly_wait(10) # 隐式等待
driver.get("https://www.baidu.com")

# 自己动手写显式等待
def find_element_by_xpath(xpath):
    n = 0
    # 等待优化
    while n < 30:
        try:
            time.sleep(0.5)
            goods_list = driver.find_elements_by_xpath(xpath)
            if len(goods_list) < 需要的数据量,如果不到这个数据量就继续访问,如果到就返回数据:
                print("继续加载...")
            return goods_list
        except:
            print("节点还没有加载完成...")

本文作者:愿风带走思绪

本文链接:https://www.cnblogs.com/lsixu/p/18406798

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   愿风带走思绪  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起