已打开访问权限的Excel和Internet Explorer来获取数据[保留]

问题描述 投票:-3回答:2

有我正在尝试使用python制作机器人流程自动化(称为RPA)。有两个窗口。一个是excel,另一个是web。

程序为:

  1. Excel和Web都必须在运行代码之前打开(它永远不会更改,没有其他选择)
  2. 将网络上的数据复制并粘贴到excel文件。
  3. 完成!

看起来很简单...但是,硒无法访问已打开的Web,也无法访问已打开的excel文件。

当然,可以很容易地访问新网站和新网站或加载excel。

硒无所谓,不使用。

有人知道如何解决吗?

谢谢。

python excel selenium internet-explorer openpyxl
2个回答
0
投票

我知道您要做什么,但是有更简单的方法可以做到这一点。需要考虑的一些问题:

1。 selenium是适合该工作的工具吗?

您需要模拟整个浏览器来导航和下载文件,还是可以使用一些代码来更简单地下载文件?除非您注意到可以简单地scrape网站,否则模拟浏览器似乎是个好主意。

[使用requests之类的内容下载网页,并使用requests之类的内容提取BeautifulSoup的特定链接,您也许可以更轻松地实现所需的内容。

如果确实需要.xlsx,则应研究如何下载

文件-而不是将其复制并粘贴到Excel中。从浏览器复制文件将需要您弄清楚如何将其粘贴到Excel上,并提取单个HTML标记……我敢打赌,这很难想象。

2。您要修改selenium文件吗?

[否则,您只需将其下载到计算机中的特定目录,然后单击.xlsx。如果是,那么您将不得不研究open the file on Excel with Python之类的工具。

不要放弃。

[如果您希望使该项目正常运行,请记住,编程是65%-70%的研究,而25%-30%是实际的编程。以上资源应该可以帮助您入门,但是它很模糊,您必须进行自己的研究才能继续进行。

据我所知,硒将仅与它所调用的那些窗口交互,而不会与已经打开的窗口交互。但是,这里有一些相关的线程说我们可以使用远程WebDriver和会话ID来做到这一点,您可以检查它们:

pandas

pandas

How can I reconnect to the browser opened by webdriver with selenium?

从我的角度来看,如果要访问已打开的IE窗口和Excel工作表,建议您尝试使用Re-using existing browser session in selenium

更多详细信息,请查看以下文章:

Can Selenium interact with an existing browser session?

VBA

Understanding automation

Excel + VBA + IE = web automation


0
投票
据我所知,硒将仅与它所调用的那些窗口交互,而不会与已经打开的窗口交互。但是,这里有一些相关的线程说我们可以使用远程WebDriver和会话ID来做到这一点,您可以检查它们:
© www.soinside.com 2019 - 2024. All rights reserved.