0

ブラウザでURLを開いてソースを開いたURLを読む方法があるかどうか知りたいですか?XPath セレクターが captcha img src の正しい値を取得しているかどうかを確認しようとしています。URLに接続するたびにキャプチャがリロードされるため、URLへの2つの接続を作成することはできません。

私が使用しているソースを読むために:

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

wx.Python 、 pysideなどのクロス プラットフォーム Python GUI ツール キットのほとんどには、Python 内から HTML ソースを表示するために使用できる HTML 表示ウィンドウがあります。これらのいずれかを使用して、Python コード内からコンテンツを表示することをお勧めします。

于 2013-10-12T13:35:24.623 に答える