selenium模拟登录的一些tips

源码 2024-10-8 02:53:41 80 0 来自 中国
借助selenium登录网站是一个常见的利用,接下来的大部门代码是开辟写好的,这里是自己整理下来的知识点。
驱动安装

之前常常是先根据欣赏器版本下载对应版本的驱动,但着实有一个办法是可以自动获取当前欣赏器的版本,自动下载对应的驱动到当地的。
    from webdriver_manager.chrome import ChromeDriverManager    browser = webdriver.Chrome(ChromeDriverManager().install())去掉webdriver陈迹

有一些网站,当用webdriver访问时,会提示哀求失败。这时,就须要去掉webdriver陈迹,模拟正常登录。
    from selenium.webdriver import ChromeOptions    options = ChromeOptions() # 启动设置参数    options.add_argument("--disable-blink-features=AutomationControlled") # 增长参数    browser = webdriver.Chrome(ChromeDriverManager().install(), options=options)假如还需去掉受自动测试软件控制的提示,则须要添加如下参数
    options.add_experimental_option('useAutomationExtension', False)xpath定位元素的tips

//*  代表选取文档中的所有元素

    # 查找所有元素,找到文案包罗“登录”的元素,点击    browser.find_elements(By.XPATH, "//*[contains(text(), '登录')]")[0].click()查找特定元素

    placeholder = '用户名'    account='username'    # 选取所有input元素(不管位置),拥有值为{placeholder}的placeholder属性    browser.find_elements(By.XPATH, f"//input[@placeholder='{placeholder}']")[0].send_keys(account)上方代码以f开头,表如今字符串内支持大括号内的python表达式
拖拽元素

    from selenium.webdriver import ActionChains    # 找到drag元素    drag = browser.find_elements(By.XPATH, "//span[@class='btn_slide']")[0]    # 调用ActionChains()类,并将欣赏器驱动browser作为参数传入    action_chains = ActionChains(browser)    # 模拟拖拽,拖拽到某个坐标然后松开    action_chains.drag_and_drop_by_offset(drag, 320, 0)    # 实行ActionChains()中储存的所有利用,可以看做是实行之前一系列的利用    action_chains.perform()唉,是一波知识点了,但是很无语,没有什么特别的进步的感觉~
本日的更新到这里了~
自我纪录,有错误欢迎指正~
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-11-21 17:51, Processed in 0.181990 second(s), 32 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表