python自动化,网页填表,如果问题解决,必采纳

我需要自动填报的网页需要调用摄像头,需要进行下图的操作

img


我操作完成后用普通方式打开谷歌能正常使用摄像头,但使用方法selenium自动打开谷歌就无法使用摄像头,请问用什么办法能解决这个问题?是否能先手动打开谷歌浏览器,然后再执行自动化?
我不太懂编程,各位能直接给我一个复制就能运行的代码吗?运行打开一个网页 ,接下来我操作到目标网站,显示能使用摄像头,我能获取ID,控制网页填写。
找人解决了,换playwright库就行了。

根据您的描述,您需要在Selenium中使用摄像头,但是在使用Selenium自动打开Chrome浏览器时,无法打开摄像头。这可能是由于Chrome浏览器的默认设置禁用了不安全的来源,从而禁用了摄像头。

一种解决方法是在Selenium中设置Chrome浏览器选项,以允许不安全的来源。您可以使用以下代码来启用Chrome浏览器选项:

ChromeOptions options = new ChromeOptions();
options.addArguments("use-fake-ui-for-media-stream"); // 添加这一行
WebDriver driver = new ChromeDriver(options);

这将启用摄像头,并在Chrome浏览器中打开一个带有摄像头的页面。

另外,您也可以手动打开Chrome浏览器,然后通过Selenium连接到已打开的浏览器。这样,您就可以在打开摄像头的情况下执行自动化测试。

要连接到已打开的Chrome浏览器,请使用以下代码:

ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("debuggerAddress", "localhost:9222");
WebDriver driver = new ChromeDriver(options);

这将在本地主机上的端口9222上启动一个远程调试会话,使Selenium可以连接到已打开的Chrome浏览器。请注意,在使用此方法之前,您需要手动启动Chrome浏览器并打开“chrome://inspect”页面。

以下答案由GPT-3.5大模型与博主波罗歌共同编写:
这个问题有很多解决方法,我来给您提供一些思路:

  1. 关于selenium无法调用摄像头的问题:

这是因为当selenium运行的时候,它的ChromeDriver是运行在一个虚拟机中的,无法直接访问计算机的硬件。但是可以通过配置ChromeDriver的命令行选项来允许它访问计算机的摄像头。具体的步骤是:

  • 在程序中创建一个ChromeOptions对象
  • 使用ChromeOptions的add_argument方法添加一条命令行选项
  • 命令行选项的参数是一个字符串,用于指定摄像头的设备ID

下面是一个示例:

from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_argument('--use-fake-ui-for-media-stream')
options.add_argument('--use-fake-device-for-media-stream')
options.add_argument('--use-file-for-fake-video-capture=/path/to/video/file.mp4')
driver = webdriver.Chrome(chrome_options=options)
  1. 手动打开谷歌浏览器后再执行自动化:

这个思路比较简单,您可以先手动打开谷歌浏览器,然后在程序中指定ChromeDriver的路径,这样程序就会使用您手动打开的谷歌浏览器进行自动化操作。下面是一个示例:

from selenium import webdriver

driver_path = '/path/to/chromedriver'
browser_path = '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome'
options = webdriver.ChromeOptions()
options.binary_location = browser_path
driver = webdriver.Chrome(executable_path=driver_path, chrome_options=options)

注意:ChromeDriver的版本和您手动打开的谷歌浏览器的版本要保持一致,否则可能会出现兼容性问题。

希望以上的解决思路能够给您带来帮助。
如果我的回答解决了您的问题,请采纳!

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7642162
  • 除此之外, 这篇博客: python和selenium爬虫,网页表格下载自动化脚本中的 3、下载谷歌浏览器驱动 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • ​ 下载地址:https://registry.npmmirror.com/binary.html?path=chromedriver/

    ​ 找到符合版本号的驱动文件夹

    在这里插入图片描述

    选择适合你电脑的驱动版本,window下载win32的就好了

    在这里插入图片描述
    下载之后,将解压的文件放在python的目录中
    在这里插入图片描述