在Python程序中嵌入网页浏览器

7 投票
1 回答
8093 浏览
提问于 2025-04-17 03:18

我想在一个Python程序里嵌入一个网页浏览器,最好能在Linux上运行(GTK和Qt都可以),或者是跨平台的。

我查过pywebgtk和Qt的WebKit小部件,但这些似乎只是提供了一个渲染引擎。特别是,我希望能有后退、前进和标签浏览的支持。这样的功能是现成的,还是我需要自己去实现呢?

wxWebConnect看起来大致符合我的想法,但它没有Python的绑定。

1 个回答

5

你可以在这个链接找到selenium这个包的安装地址:http://pypi.python.org/pypi/selenium/2.7.0

你可以安装selenium这个包,并在同一台电脑上运行一个服务器(其实就是在不同的进程里运行),然后用你的Python代码连接到这个服务器。

java -jar selenium-server-standalone-2.7.0.jar

接下来:

from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.keys import Keys
import time

browser = webdriver.Firefox() # Get local session of firefox
browser.get("http://www.yahoo.com") # Load page
assert "Yahoo!" in browser.title
elem = browser.find_element_by_name("p") # Find the query box
elem.send_keys("seleniumhq" + Keys.RETURN)
time.sleep(0.2) # Let the page load, will be added to the API
try:
    browser.find_element_by_xpath("//a[contains(@href,'http://seleniumhq.org')]")
except NoSuchElementException:
    assert 0, "can't find seleniumhq"
browser.close()

你可以用subprocess这个工具在你的Python代码里启动这个服务器。

撰写回答