在托管应用中使用selenium?

2024-04-30 06:44:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用我在DigitalOcean托管的Django应用程序单击一个按钮。在

下面是我如何离线操作:

import selenium.webdriver as webdriver

firefox = webdriver.Firefox()
firefox.get("http://www.hltv.org/match/2296366-gplay-gamers2-acer-predator-masters-powered-by-intel")

element = firefox.find_element_by_id("voteteam1")
element.click()

但我可以在网上使用吗?也许还有别的解决办法?在


Tags: djangoimport应用程序httpgetbyasselenium
2条回答

你需要在Linux机器上使用firefox作为headless。以下文章应该有帮助-

http://www.installationpage.com/selenium/how-to-run-selenium-headless-firefox-in-ubuntu/

如果您使用Firefox或任何其他“带头”的浏览器,通常的方法是在^{}的帮助下启动一个“虚拟显示”,它是XvfbXephyr和{}的包装器,请参见example working code的答案。在


另一个选择是使用“headless”浏览器,例如^{}。在这种情况下,更改通常非常简单,即替换:

firefox = webdriver.Firefox()

有:

^{pr2}$

假设您已经安装了PhantomJS。在

演示:

>>> from selenium import webdriver
>>> driver = webdriver.PhantomJS()
>>> driver.get("http://www.hltv.org/match/2296366-gplay-gamers2-acer-predator-masters-powered-by-intel")
>>> driver.title
u'HLTV.org - Hot Match: GPlay vs Gamers2'

第三个选项(我最喜欢的)是使用远程selenium服务器,可以是您自己的服务器,也可以是由第三方服务提供的,比如^{}或{a5}。Example code

^{4}$

BrowserStack或{}的情况下,有大量的浏览器和操作系统可供选择。请注意,这些不是免费的服务,您需要一个username和一个key才能使代码工作。在

相关问题 更多 >