使用的是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是有固定的设备选项。