Selenium Web 驱动程序 Firefox 打开空白页
Posted
技术标签:
【中文标题】Selenium Web 驱动程序 Firefox 打开空白页【英文标题】:Selenium web driver Firefox opening blank page 【发布时间】:2017-03-22 10:50:35 【问题描述】:我想问一些关于 Python 中的 Selenium 库的问题。
我正在尝试打开一个网页,直接登录它,然后使用 Python 脚本访问它后面的另一个网页(我想在登录后在网站上导航)。我在网上找到了以下代码,但是行有问题:
browser = webdriver.Firefox()
它只是在 Firefox 中打开一个空白页面,看起来脚本被卡住了,之后什么也不做。我在Python解释器里试过,还是一样,在Firefox中打开一个空白页面,我失去了手(我无法输入其他命令)。
python 解释器被阻止:
我正在使用 Selenium-3.3.1,我在 CentOS 6.5 下工作。
正常吗?我错过了什么明显的东西吗?
这是我的代码:
#!usr/bash/python
from selenium import webdriver
from selenium.webdriver.support import ui
from selenium.webdriver.common.keys import Keys
def loadedPage(browser):
return browser.find_element_by_tag_name("body") != None
browser = webdriver.Firefox() #supposedly just a firefox webdrive instance creation
browser.get("http://machine/machineDir/index.php")
wait = ui.WebDriverWait(browser, 10)
wait.until(loadedPage)
username=browser.find_element_by_id("username")
username.send_keys("userTest")
passwd=browser.find_element_by_id("password")
passwd.send_keys("userTestpass")
passwd.send_keys(Keys.RETURN)
【问题讨论】:
你用的是哪个版本的FF?你确定你的网址是正确的吗?您是否尝试过使用另一个网址? 使用Selenium 3.0
和firefox
firefox version as = 52.0.1
复制相同的问题
错误显示为org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output:
@nick_gabpe 是的,URL 是正确的,我使用的是旧版本的 firefox ( 17.1.10 ),这是我公司的标准配置。即使在 python 解释器中也会出现问题,而我还没有使用 browser.get("url")
指定 URL
一般情况下,如果浏览器打开后没有任何反应,是浏览器和驱动版本不匹配的情况。如果您必须使用某个 FF 版本,则必须查找与之匹配的 Selenium 版本并使用该版本。
【参考方案1】:
由于您使用的是selenium 3
,firefox
浏览器不能直接实例化,需要配置gecko驱动。
System.setProperty("webdriver.gecko.driver","path of geckodriver.exe");
【讨论】:
即使路径正确,驱动程序在该路径上也可用,但它没有得到解决。System.setProperty("webdriver.gecko.driver", "C:\\Drivers\\geckodriver.exe"); WebDriver driver = new FirefoxDriver();
错误显示为org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output:
请原谅我的菜鸟,但这不是 javascript 代码行吗?我正在使用 python,所以我不能在我的程序中使用它
@jainishkapadia 对于 selenium 3.0,请使用 Firefox 51 或更低版本,当前版本的 selenium (3.3) 支持 Firefox 52
是的,现在它对我有用。我已经更新了selenium java jar file
如果你想用firefox browser
运行你的自动化脚本,请update firefox browser, Selenium java jar files, update the gecko driver as well.
【参考方案2】:
我为我的旧 Firefox 使用正确版本的 Selenium 修复了它。
火狐版本:17.0.10 已安装的 Selenium 版本:2.40【讨论】:
以上是关于Selenium Web 驱动程序 Firefox 打开空白页的主要内容,如果未能解决你的问题,请参考以下文章