通过Python3+selenium自动

发布时间:2019-09-24 08:26:54编辑:auto阅读(2091)

    使用的是selenium,最开始接触这个模块包是爬虫,这次是工作需要来自动测试网页。

    记录一下模拟不同浏览器的方式

    • 总共测了两个浏览器,Firefox在centos7上和chrome在win10上。都是模拟的IPAD方式访问,原因是使用模拟手机的话,会有部分内容被挡住导致无法模拟点击,┑( ̄Д  ̄)┍无奈。
    • so,模拟手机和模拟IPAD是同样的操作,只是把对应IPAD的内容换成想要的手机就可以了。
    from selenium import webdriver
    
    # 使用Firefox手机浏览器
    user_agent = "Mozilla/5.0 (iPad; CPU OS 12_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0 Mobile/15E148 Safari/604.1"
    profile = webdriver.FirefoxProfile()
    profile.set_preference("general.useragent.override", user_agent)
    driver = webdriver.Firefox(profile, executable_path="geckodriver")
    # 设置窗口大小
    driver.set_window_size(1080, 1920)
    testUrl = 'www.baidu.com'  # 已替换
    # 加载指定的网址
    driver.get(testUrl)
    
    # 模拟chrome手机浏览器
    mobileEmulation = {'deviceName': 'iPad'}
    options = webdriver.ChromeOptions()
    options.add_experimental_option('mobileEmulation', mobileEmulation)
    driver = webdriver.Chrome(executable_path='chromedriver.exe', chrome_options=options)
    testUrl = 'www.baidu.com'  # 已替换
    driver.get(testUrl)
    # 设置窗口大小
    driver.set_window_size(1024, 1366)
    
    ###
    实现逻辑
    ###

    可以注意到:

    Firefox和chrome对于模拟手机的设置方式不同。
    Firefox是通过改变响应头来模拟,chrome是有固定的设备选项。

关键字