强大的Selenium:灵活控制Chrome

什么是Selenium?

Selenium是一套可用于自动化 Web 浏览器操作的工具包。虽然Selenium最初是被设计用来支持自动化测试,但现在它的用途已经远远超出了测试范围,被广泛应用于各种自动化任务,比如 web scraping(网页抓取)、表单提交、用户界面测试等。

非常好用的控制浏览器技巧

前段时间因为工作的需要,偶然间了解到Selenium的一个使用方法,相比之前使用的方法而言这个操作浏览器的方法更加灵活和高效,为了避免每次使用这个方法时要去互联网上搜索,我便在此以文章的形式记录,方便自己使用和方便大家学习。

介绍这个技巧的原网址:https://blog.csdn.net/weixin_45081575/article/details/112621581

具体而言就是,就是直接使用Chrome的debug模式,打开一个新的窗口,这个窗口可以使用Selenium的Webdriver来通过设定的端口来与Chrome Drive交互以达到网页自动化的作用,至于为什么我说这个方法要比先前使用Selenium来得更加方便,是因为,通过这种方式,可以人工的在整个过程中直接通过浏览器操作页面,跳过自动化无法实现的部分,再使用自动化的方式完成设定好的流程。

操作步骤

打开一个可操控的Chrome浏览器

1.进入Chrome浏览器的安装路径,例如我本地的路径:C:\Program Files\Google\Chrome\Application

    2.在此路径下输入cmd进入终端(终端中打开此路径)

    3.在终端中输入chrome.exe --remote-debugging-port=9999 --user-data-dir=“E:\code\Selenium” 其中prot=9999 这个9999就是我设定的通信端口,也就是在后续使用selenium要对应上的端口,而--user-data-dir=“E:\code\Selenium”这个命令行参数用于指定 Chrome 浏览器使用的用户数据目录。通常情况下,Chrome 会将用户的配置文件、扩展程序、书签、浏览历史等存储在其默认的数据目录中。但是,当你使用 --user-data-dir 参数启动 Chrome 时,它会告诉 Chrome 使用你指定的路径作为其用户数据目录。也就是前者是设定通信端口;后者用于设定浏览器的环境,不设置则为默认的Chrome环境。

    4.输入完以上的指令,就会打开一个新的Chrome浏览器页面,并且是一个可以使用Selenium控制的页面

    使用Selenium连接并操作Chrome浏览器

    5.连接Chrome获取网页title

    我先使用刚刚新获取的Chrome浏览器打开豆瓣读书,再使用一下方法来获取网页的title

    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    
    options = Options()
    options.add_experimental_option("debuggerAddress", "127.0.0.1:9999")
    browser = webdriver.Chrome(options=options)
    
    print(browser.title)

    再附上获取网页html代码

    # 获取并打印当前页面的 HTML 源代码
    html_content = browser.page_source
    print(html_content)
    暂无评论

    发送评论 编辑评论

    
    				
    |´・ω・)ノ
    ヾ(≧∇≦*)ゝ
    (☆ω☆)
    (╯‵□′)╯︵┴─┴
     ̄﹃ ̄
    (/ω\)
    ∠( ᐛ 」∠)_
    (๑•̀ㅁ•́ฅ)
    →_→
    ୧(๑•̀⌄•́๑)૭
    ٩(ˊᗜˋ*)و
    (ノ°ο°)ノ
    (´இ皿இ`)
    ⌇●﹏●⌇
    (ฅ´ω`ฅ)
    (╯°A°)╯︵○○○
    φ( ̄∇ ̄o)
    ヾ(´・ ・`。)ノ"
    ( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
    (ó﹏ò。)
    Σ(っ °Д °;)っ
    ( ,,´・ω・)ノ"(´っω・`。)
    ╮(╯▽╰)╭
    o(*////▽////*)q
    >﹏<
    ( ๑´•ω•) "(ㆆᴗㆆ)
    😂
    😀
    😅
    😊
    🙂
    🙃
    😌
    😍
    😘
    😜
    😝
    😏
    😒
    🙄
    😳
    😡
    😔
    😫
    😱
    😭
    💩
    👻
    🙌
    🖕
    👍
    👫
    👬
    👭
    🌚
    🌝
    🙈
    💊
    😶
    🙏
    🍦
    🍉
    😣
    Source: github.com/k4yt3x/flowerhd
    颜文字
    Emoji
    小恐龙
    花!
    上一篇
    下一篇