0

我想知道是否有任何方法可以在浏览器中打开 url 并读取源打开的 url ?我正在尝试检查我的 XPath 选择器是否获得了正确的验证码 img src 值。我不能这样做与 url 建立 2 个连接,因为每次我连接到 url 时验证码都会重新加载。

对于阅读源我正在使用:

url = "https://prod.ceidg.gov.pl/CEIDG/CEIDG.Public.UI/Search.aspx"
sock = urllib.urlopen(url)
htmlSource = sock.read()                            
sock.close()

要在我正在使用的浏览器中打开 url:

if sys.platform=='win32':
    os.startfile(url)
elif sys.platform=='darwin':
    subprocess.Popen(['open', url])
else:
    try:
        subprocess.Popen(['xdg-open', url])

    except OSError:
        print 'Please open a browser on: '+url

有大佬知道怎么解决吗?

谢谢

4

3 回答 3

1

我找到了解决方案。要在浏览器中查看 url 并同时查看此页面的源代码,只需使用以下代码:

from selenium import webdriver
from lxml import etree, html

url = "https://prod.ceidg.gov.pl/CEIDG/CEIDG.Public.UI/Search.aspx"
adres_prefix = "https://prod.ceidg.gov.pl/CEIDG/CEIDG.Public.UI/"
adres_sufix = etree.XPath('string(//img[@class="captcha"]/@src)')

browser = webdriver.Firefox()
browser.get(url)
html_source = browser.page_source # i'm getting source code of open url

root = etree.HTML(html_source)
result = etree.tostring(root, pretty_print=True, method="html")
result2 = adres_sufix(root)
www = adres_prefix + result2
print www # now i see if XPath gives me right value

希望它会帮助其他人无论如何感谢任何帮助

于 2013-10-12T15:49:43.750 回答
0

大多数跨平台 python GUI 工具包,例如wx.Python、 pyside 等,都有一个 html 显示窗口,您可以使用它在 python 中显示 html 源代码。我建议使用其中之一从您的 python 代码中显示您的内容。

于 2013-10-12T13:35:24.623 回答
0

您可能需要提出多个请求才能获得 CAPTCHA。为自己获取 Fiddler 2(免费)http://fiddler2.com/get-fiddler的副本。它将允许您查看服务器和浏览器之间的“对话”。一旦你看到这一点,你可能会知道你需要什么。

于 2013-10-12T13:36:59.107 回答