【问题标题】:How to get URL from chrome by Python [duplicate]如何通过 Python 从 chrome 获取 URL [重复]
【发布时间】:2020-01-13 22:45:55
【问题描述】:

我想分析在当前选项卡中打开哪些站点的 chrome 活动,即使它也使用 python 3 打开到下一个选项卡。 请任何人都可以提供链接或任何建议我怎么能得到那个。 我想把它放到 python 控制台中。 例如。如果我打开新网址,它应该打印到控制台

提前谢谢你。

我已经尝试过,我从 Chrome 历史记录中获取了它,但为此我需要关闭浏览器,但我实际上想跟踪哪个 url 是一个,并且在运行新打开的 url 的代码时它也应该更新到控制台。

【问题讨论】:

  • 所以这个问题可能需要您进一步完善。你看过selenium和他们的ChromeDriver吗?您很可能可以查看打开的选项卡并构建一个打印到控制台的函数。
  • 从那里我可以打开 url,但我想要像 chrome history 这样的应用程序,当我打开新 url 时,它应该立即更新到控制台中,我们也可以使用 selenium 吗?
  • 我不是 Chrome 用户,但我发现此链接可能会有所帮助 -geekswipe.net/technology/computing/…
  • 感谢@Sid 的回答是的,我可以从geekswipe.net/technology/computing/… 找到它,但它应该仅限于您必须关闭 chrome 并且我想要运行时输出。
  • 为此我需要关闭 Chrome 之后只有我得到 URL 但我想在不关闭 Chrome @Sid 的情况下这样做

标签: python python-3.x google-chrome browser


【解决方案1】:

我在访问 Chrome 的地址栏时遇到了同样的问题,但找到了一种使用 pywinauto 库的方法。请参阅下面的代码。

from pywinauto import Application
app = Application(backend='uia')
app.connect(title_re=".*Chrome.*")
dlg = app.top_window()
url = dlg.child_window(title="Adreso ir paieškos juosta", control_type="Edit").get_value()
print(url)

“Adreso ir paieškos juosta”是 Chrome 地址栏的元素名称,因为我正在使用带有立陶宛语的 Chrome,它是立陶宛语。如果要查找元素的名称,请使用 inspect.exe,它将显示名称。您可以在 pywinauto 文档页面中找到有关 inspect.exe 的更多信息,或者直接 google 一下。

希望这会对你有所帮助。

【讨论】:

  • 对于英语,它将是“地址和搜索栏”。对于您自己的语言,您可以使用 inspect.exe(微软工具包)并将鼠标悬停在地址栏上方。
  • 这个方法现在似乎对我不起作用。这是我使用的代码我是中国人我已经通过inspect.exe检查了控件名称,即使我将chrome的默认语言更改为英文,也会出现同样的错误。我收到类似的错误 > AttributeError: WindowSpecification class has no 'get_value' method 如何调试和解决这个问题?
  • 可以参考我的实现,不限制语言环境和浏览器,速度更快。 @李stackoverflow.com/a/63703030/11687405
猜你喜欢
  • 1970-01-01
  • 2017-02-26
  • 2019-04-10
  • 2015-03-23
  • 2012-07-31
  • 1970-01-01
  • 2011-01-22
  • 2022-01-18
  • 2021-11-21
相关资源
最近更新 更多