Selenium自动化教程(三)设置IP和UA

这篇具有很好参考价值的文章主要介绍了Selenium自动化教程(三)设置IP和UA。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Selenium自动化被拦截怎么办

一般来说,网站都有一定的保护机制。自动化程序的本意是减少机械式重复的工作内容,但要考虑到对方网站的业务能力上限有多高,避免站点将我们误认为是攻击性程序,从而影响双方正常业务。

开发时需要注意以下几点:

  • 限制程序的请求频率
  • 适时的切换IP和UA

如何设置IP和UA

先安装随机UA库

pip3 install fake-useragent

上代码:

#!/usr/bin/python
# coding: UTF-8
# -*- coding:utf-8 -*-
# IP代理和UA切换


from time import sleep

from fake_useragent import UserAgent
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait

from util.ProxyUtil import ProxyUtil

global driver


#  启动Chrome
def get_driver():
    proxy_util = ProxyUtil()
    proxies = proxy_util.load_proxy()
    user_agent = UserAgent().random
    # 格式样式
    # headers请求头 --user-agent=Mxxxxxx/5.0 (Macintosh; U; Intel Mac OS X xx_x_x; de-de) AppleWebKit/xxx.xx.xx (KHTML, like Gecko) Version/5.0.4 Sxxxx/xxx.xx.xx
    # proxies代理设置 --proxy-server=http://xxx.xxx.xxx.xxx:80
    print("headers请求头", '--user-agent={}'.format(str(user_agent)))
    print("proxies代理设置", '--proxy-server={}'.format(str(proxies)))
    chrome_options = Options()
    # 设置不加载图片
    # prefs = {"profile.managed_default_content_settings.images": 2}
    # chrome_options.add_experimental_option("prefs", prefs)

    # 设置代理
    chrome_options.add_argument('--proxy-server={}'.format(str(proxies)))
    # 替换User-Agent
    chrome_options.add_argument('--user-agent={}'.format(str(user_agent)))  # 配置为自己设置的UA

    service = Service(r'../util/chromedriver')
    # 启动Chrome
    return webdriver.Chrome(service=service, chrome_options=chrome_options)


if __name__ == '__main__':
    try:
        driver = get_driver()
        driver.get('http://httpbin.org/ip')
        # 显性等待
        WebDriverWait(driver, 10).until(
            lambda _: driver.find_element(By.XPATH, '/html/body/pre')
        )
        print("页面代理设置", driver.page_source)
        sleep(1000)
    except Exception as e:
        driver.quit()
        print('open_url:', e)

ProxyUtil的下载地址
也可以按照上面格式,填入自己的代理信息

代码执行后可以看到代理是否正确配置:
selenium设置ua,selenium,selenium,自动化,chrome

按F12可以看到UA的状态
selenium设置ua,selenium,selenium,自动化,chrome文章来源地址https://www.toymoban.com/news/detail-672620.html

到了这里,关于Selenium自动化教程(三)设置IP和UA的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python+Selenium自动化测试详细教程

       Python Selenium是Selenium WebDriver的Python语言封装,为Python开发者提供了一个方便易用的自动化测试库。它支持多种浏览器(如Chrome、Firefox、Edge等)以及多个操作系统,可以模拟用户在浏览器中的各种行为,包括打开网页、查找元素、输入文本、点击链接、提交表单、上传文

    2023年04月18日
    浏览(49)
  • selenium入门超详细教程——网页自动化操作

    Selenium是广泛使用的模拟浏览器运行的库,它是一个用于Web应用程序测试的工具。 Selenium测试直接运行在浏览器中,就像真正的用户在操作一样,并且支持大多数现代 Web 浏览器。下面就进入正式的学习阶段。 激活虚拟环境 通过pip安装 针对不同的浏览器,需要安装不同的驱动

    2024年02月03日
    浏览(101)
  • 保姆级自动化测试教程(Selenium+java)

    自动化测试指软件测试的自动化,在预设状态下运行应用程序或者系统,预设条件包括正常和异常,最后评估运行结果。将人为驱动的测试行为转化为机器执行的过程。 自动化测试包括 UI自动化 , 接口自动化 , 单元测试自动化 。 单元测试 :最大的投入应该在单元测试上

    2024年02月12日
    浏览(42)
  • Python_Selenium自动化测试详细教程

       Python Selenium是Selenium WebDriver的Python语言封装,为Python开发者提供了一个方便易用的自动化测试库。它支持多种浏览器(如Chrome、Firefox、Edge等)以及多个操作系统,可以模拟用户在浏览器中的各种行为,包括打开网页、查找元素、输入文本、点击链接、提交表单、上传文

    2024年02月11日
    浏览(39)
  • Selenium自动化教程:延时等待的3种方式!

    我们经常会碰到用selenium操作页面上某个元素的时候,需要等待页面加载完成后,才能操作。否则页面上的元素不存在,会抛出异常。或者碰到AJAX异步加载,我们需要等待元素加载完成后,才能操作。在进行UI自动化测试时,需要等元素加载完成,才能对元素进行操作,不然

    2024年01月24日
    浏览(51)
  • selenium自动化测试教程——java爬取数据

    selenium 是一个用于自动化测试 Web 应用的工具集 ,它可以模拟用户自动去浏览器网页上进行点击、输入、选择下拉值复选框、鼠标移动、任意 JavaScript 执行等等操作。 selenium 有三个产品: Selenium WebDriver:基于浏览器的回归自动化套件和测试,你可以使用 Java、Python、JavaScri

    2024年02月14日
    浏览(46)
  • Selenium教程:自动化浏览器测试工具

    Selenium是一款用于自动化浏览器测试的工具,它提供了一系列的API和功能,使得开发人员可以编写脚本来模拟用户在浏览器中的行为。无论是在Web应用程序的功能测试、性能测试还是数据抓取方面,Selenium都是一个强大且广泛使用的工具。 在开始使用Selenium之前,您需要进行安

    2024年02月07日
    浏览(79)
  • 自动化测试工具之Selenium IDE录制教程

            下载传送带:Selenium IDE · Open source record and playback test automation for the web         这里Darren洋以firefox火狐浏览器为例,将以上下载url直接在firefox浏览器中打开,点击对应下载按钮后,就会进入添加页面。         这里直接点击添加到Firefox浏览器的按钮即可,谷歌浏

    2024年02月08日
    浏览(44)
  • Selenium自动化工具集 - 完整指南和使用教程

    Selenium 是一个用于自动化浏览器操作的工具集。它通过模拟用户在浏览器中的行为,如点击、输入、表单提交等,来实现自动化测试和网页数据抓取等功能。Selenium 针对不同的浏览器提供了不同的 WebDriver 接口,如 ChromeDriver、GeckoDriver(Firefox)、WebDriver(Safari)等。 以下是基

    2024年02月11日
    浏览(33)
  • selenium自动化教程及使用java来爬取数据

    selenium 是一个用于自动化测试 Web 应用的工具集 ,它可以模拟用户自动去浏览器网页上进行点击、输入、选择下拉值复选框、鼠标移动、任意 JavaScript 执行等等操作。 selenium 有三个产品: Selenium WebDriver:基于浏览器的回归自动化套件和测试,你可以使用 Java、Python、JavaScri

    2024年02月10日
    浏览(73)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包