【问题标题】:Selenium web driver Firefox opening blank pageSelenium Web 驱动程序 Firefox 打开空白页
【发布时间】: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.0firefox 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 版本并使用该版本。

标签: python selenium firefox selenium-webdriver


【解决方案1】:

由于您使用的是selenium 3firefox浏览器不能直接实例化,需要配置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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-11
    • 2017-09-09
    • 2017-03-03
    • 1970-01-01
    相关资源
    最近更新 更多