单击上下文菜单项后验证当前 URL
Posted
技术标签:
【中文标题】单击上下文菜单项后验证当前 URL【英文标题】:Validating current URL after clicking a context menu item 【发布时间】:2014-08-07 10:44:18 【问题描述】:我正在编写一个 python 脚本,我在其中右键单击一个文件,单击上下文菜单项。单击它会打开一个网页。我必须验证网页的网址。如何将我的控制权从操作系统转移到浏览器并获取当前 URL。
【问题讨论】:
【参考方案1】:为什么不调用 requests.get(url) 并检查响应代码。另一种选择是调用 request.head(url)
>>> import requests
>>> url1 = 'http://example.com'
>>> url2 = 'http://sdsdsdsdsdss.com'
>>> r = requests.head(url1)
>>> r.status_code
200
>>> r = requests.head(url2, timeout=5)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/requests/api.py", line 77, in head
return request('head', url, **kwargs)
File "/usr/lib/python2.7/dist-packages/requests/api.py", line 44, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 383, in request
resp = self.send(prep, **send_kwargs)
File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 486, in send
r = adapter.send(request, **kwargs)
File "/usr/lib/python2.7/dist-packages/requests/adapters.py", line 387, in send
raise Timeout(e)
requests.exceptions.Timeout: (<urllib3.connectionpool.HTTPConnectionPool object at 0x7f4e77635950>, 'Connection to sdsdsdsdsdss.com timed out. (connect timeout=5)')
>>>
您需要处理异常。请求模块详情:http://docs.python-requests.org/en/latest/
如果你真的需要打开网络浏览器,你可以使用这个库:https://docs.python.org/2/library/webbrowser.html
【讨论】:
您好,谢谢您的帮助。 requests.head(url1) 对我不起作用,因为我无法手动将 url 作为属性传递。提供的链接非常有用。在这里,我尝试通过右键单击文件打开链接,单击上下文菜单项。这将在浏览器中打开一个链接。我必须验证它是否打开了正确的链接。如何将控件从 Windows 应用程序转移到浏览器以获取 URL。我需要使用 selenium 驱动程序吗? 我没有玩过 selenium,但它可能对你有帮助。以上是关于单击上下文菜单项后验证当前 URL的主要内容,如果未能解决你的问题,请参考以下文章