我想点击我在DigitalOcean上托管的Django应用程序的一个按钮。
这是我离线的方式:
<div class="A"></div>
<div class="B">
<div class="C">
<div class="A"></div>
</div>
</div>
<div class="B">
<div class="A"></div>
</div>
但我可以在网上使用吗?也许有其他解决方案?
答案 0 :(得分:1)
你需要在Linux机器上使用firefox作为无头。以下文章应该有所帮助 -
http://www.installationpage.com/selenium/how-to-run-selenium-headless-firefox-in-ubuntu/
答案 1 :(得分:0)
如果您使用头部&#34;绑定到Firefox或任何其他浏览器&#34;,常见的方法是在帮助下启动&#34;虚拟显示器&#34; 作为Xvfb
,Xephyr
和Xvnc
的包装的PyVirtualDisplay
,请参阅example working code的答案。
另一种选择是使用&#34;无头&#34;浏览器,例如PhantomJS
。在这种情况下,更改通常非常简单,取而代之的是:
firefox = webdriver.Firefox()
使用:
driver = webdriver.PhantomJS()
假设您已安装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服务器,您自己的,或由BrowserStack
或Sauce Labs
等第三方服务提供。 Example code:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
desired_cap = {'os': 'Windows', 'os_version': 'xp', 'browser': 'IE', 'browser_version': '7.0' }
driver = webdriver.Remote(
command_executor='http://username:key@hub.browserstack.com:80/wd/hub',
desired_capabilities=desired_cap)
driver.get("http://www.google.com")
if not "Google" in driver.title:
raise Exception("Unable to load google page!")
elem = driver.find_element_by_name("q")
elem.send_keys("BrowerStack")
elem.submit()
print driver.title
driver.quit()
如果是BrowserStack
或Sauce Labs
,您可以选择大量的浏览器和操作系统。请注意,这些不是免费服务,您需要username
和key
才能使用此代码。