在线文档网站是什么原理,如何用selenium操作

在线文档网站右键都变成了类似office的右键操作,根本没有检查等选项,f12可以看,但是复制不出来。如何复制html出来。而且也不知道登录按钮是什么,如何用selenium登录,并进行批量操作,比如批量下载文件。页面没有批量下载功能,只能一个一个点

F12,打开开发工具,点下图中第一个按钮,然后移动到页面要查看的元素上释放鼠标,在Elements选项卡中会自动定位元素,而不是在页面上右键,检查,要不加了右键控制的js代码就没法检查元素了

img

为了防止复制,现在的在线文档都是用 canvas 绘图渲染的,这种可以截图然后 OCR 识别

先下载浏览器的驱动,之后通过selenium的api定位元素、按钮、获取相关文件。

img

img

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632
  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7595482
  • 这篇博客你也可以参考下:五、Selenium 三种等待方式:强制等待、隐式等待、显示等待
  • 除此之外, 这篇博客: selenium 如何拖动滚动条?中的 4. selenium 如何判断元素是否存在 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 第一种方式:捕获异常

    def isElementExist(driver, class_name):
        try:
            el = driver.find_element_by_class_name(class_name)
            return True
        except Exception as e:
            logging.error(e)
            return False
    

    第二种方式:find_elements 方法

    def is_element_exist(driver, class_name):
        el = driver.find_elements_by_class_name(class_name)
        if len(el) > 0:
            return True
        else:
            return False
    
  • 以下回答由chatgpt基于相关博客总结生成:

    根据问题描述,我可以给出如下解决方案:

    步骤1: 使用Selenium复制网页的HTML内容 要复制网页的HTML内容,可以使用driver.page_source方法获取整个网页的源代码。以下是一个示例代码:

    from selenium import webdriver
    
    driver = webdriver.Chrome()
    driver.get("你的网页链接")
    
    # 获取网页的HTML内容
    html_content = driver.page_source
    
    # 输出HTML内容
    print(html_content)
    
    # 关闭浏览器
    driver.quit()
    

    步骤2: 使用Selenium自动登录并进行批量操作 要自动登录并进行批量操作,首先需要确定登录按钮的元素。可以使用Chrome浏览器的开发者工具来查看登录按钮的元素ID、XPath或其他属性。然后,可以使用Selenium的find_element_by_XXX方法来定位登录按钮,进而模拟点击登录按钮的操作。以下是一个示例代码:

    from selenium import webdriver
    from selenium.webdriver.common.keys import Keys
    
    driver = webdriver.Chrome()
    driver.get("你的网页链接")
    
    # 找到登录按钮并点击
    login_button = driver.find_element_by_id("登录按钮的ID")
    login_button.click()
    
    # 输入用户名和密码
    username_input = driver.find_element_by_id("用户名输入框的ID")
    username_input.send_keys("你的用户名")
    password_input = driver.find_element_by_id("密码输入框的ID")
    password_input.send_keys("你的密码")
    
    # 提交登录表单
    password_input.send_keys(Keys.ENTER)
    
    # 进行批量操作,比如批量下载文件
    # 在这里编写批量操作的代码
    
    # 关闭浏览器
    driver.quit()
    

    注意:以上示例代码中的元素ID和输入框的ID等需要根据你的网页源代码和实际情况进行替换。

    如果你无法确定登录按钮的元素或者处理下载操作,你可以尝试参考上面提供的参考资料的方法和技巧来解决问题。