美文网首页
Selenium Options CFG

Selenium Options CFG

作者: 我和我的火柴 | 来源:发表于2024-02-04 10:55 被阅读0次

    1.配置Chrome浏览器的选项

    
    options = webdriver.ChromeOptions()  # 创建配置对象
    options.add_argument('lang=zh_CN.UTF-8')  # 设置中文
    options.add_argument('--headless')  # 无头参数,浏览器隐藏在后台运行
    options.add_argument('--disable-gpu')  # 禁用GPU加速
    options.add_argument('--start-maximized')  # 浏览器最大化
    options.add_argument('--window-size=1920x1024')  # 设置浏览器分辨率(窗口大小)
    options.add_argument('--user-agent=""')  # 设置请求头的User-Agent
    options.add_argument('--incognito')  # 隐身模式(无痕模式)
    options.add_argument(f'--proxy-server={proxy}')  # 添加IP代理 proxy=f"http://{ip}:{port}"
    # 关闭'Chrome正受到,自动测试软件的控制'的提示
    options.add_experimental_option('useAutomationExtension', False)
    options.add_experimental_option('excludeSwitches', ['enable-automation'])
    options.add_experimental_option('prefs', {'profile.managed_default_content_settings.images': 2}) # 禁用图片加载
    driver.set_page_load_timeout(20)  # 设置连接超时20秒
    options.add_experimental_option('detach', True)  # 不自动关闭浏览器
    
    driver = webdriver.Chrome(options=options)  # 创建浏览器对象
    driver.get('https://www.baidu.com')
    
    

    2.修改浏览器窗口大小,set_window_size() 方法来修改浏览器窗口的大小,maximize_window() 方法可以实现浏览器全屏显示,get_window_size()获取网页的窗口大小。

    import time
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    
    driver = webdriver.Chrome()
    # 访问百度首页
    driver.get('https://www.baidu.com')
    # 获取网页的窗口大小
    print(driver.get_window_size())  # {'width': 1050, 'height': 708}
    # 1.设置浏览器的宽高为:600x800
    driver.set_window_size(600, 800)
    time.sleep(3)
    # 2.网页界面最大化
    driver.maximize_window()
    time.sleep(3)
    # 关闭网页
    driver.quit()
    
    

    3.浏览器前进&后退,webdriver 提供 back 和 forward 方法来实现页面的后退与前进。下面我们 ①进入百度首页,②打开百度图片网,③back 返回百度首页,④ forward 前进到百度图片网。为了看到自动化的过程,可以加延时处理,driver.title显示网页的标题。

    import time
    from selenium import webdriver
    
    driver = webdriver.Chrome()
    # 1.访问百度首页
    driver.get('https://www.baidu.com/')
    print(driver.title)  # 百度一下,你就知道
    time.sleep(2)
    # 2.访问百度图片,主页
    driver.get('https://image.baidu.com/')
    print(driver.title)  # 百度图片-发现多彩世界
    time.sleep(2)
    # 3.返回(后退)到百度首页
    driver.back()
    time.sleep(2)
    # 4.前进到百度图片网
    driver.forward()
    
    

    大家会发现第2次 get() 打开新页面时,会在原来的页面打开,而不是在新标签中打开。如果想的话,可以执行 js 语句来打开新的标签。

    js = "window.open('https://image.baidu.com/')"
    driver.execute_script(js)
    
    

    4.常用的浏览器操作方法,自己敲代码练习一下,这里就不一一演示了。

    
    driver.maximize_window()  # 最大化浏览器
    driver.set_window_size(w,h)  # 设置浏览器大小 单位像素
    driver.set_window_position(x,y)  # 设置浏览器位置
    driver.back()  # 后退操作
    driver.forward()  # 前进操作
    driver.refresh()  # 刷新操作
    driver.close()  # 关闭当前主窗口(主窗口:默认启动那个界面,就是主窗口)
    driver.quit()  # 关闭driver对象启动的全部页面
    driver.get()  #要打开的网址
    driver.title  # 获取当前页面title信息
    driver.current_url  # 获取当前页面url信息
    # 截图预览
    driver.get_screenshot_as_file('截图.png')
    # 浏览器名称
    driver.name
    #  网页源码
    driver.page_source
    
    

    5.常见元素的基本方法:在百度先输入李白,清空李白,输入杜甫,最后点击查询按钮。


    Keys
    import time
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    
    driver = webdriver.Chrome()
    driver.get('https://www.baidu.com')
    
    # 1.查找输入框,并输入关键词李白
    input = driver.find_element(By.ID, 'kw')
    input.send_keys('李白')
    time.sleep(1)
    # 2.清除李白,输入杜甫
    input.clear()
    time.sleep(1)
    input.send_keys('杜甫')
    button = driver.find_element(By.ID, 'su')
    button.click()
    # 输出按钮的大小
    print(button.size)  # {'height': 40, 'width': 112}
    print(button.is_displayed())  # True
    # 输出value属性的值
    print(button.get_attribute('value'))  # 百度一下
    time.sleep(5)
    # 关闭网页
    driver.quit()
    
    

    完毕!!感谢您的收看

    相关文章

      网友评论

          本文标题:Selenium Options CFG

          本文链接:https://www.haomeiwen.com/subject/znrfadtx.html