使用Selenium打开网页,我想把网页中的某张图片下载下来可以吗?应该怎么操作?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Selenium打开网页,我想把网页中的某张图片下载下来可以吗?应该怎么操作?相关的知识,希望对你有一定的参考价值。

浏览器窗口鼠标右键图片另存,或按键盘WIN+S追问

selenium可以记录鼠标右键行为?

追答

图片链接地址吗?

参考技术A 你用的IDE?追问

如果用ide可以吗?

追答

IDE 实现不了 手都写的话 可以

追问

脚本怎么写呢?

Selenium Web 驱动程序 Firefox 打开空白页

【中文标题】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.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 版本并使用该版本。 【参考方案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

【讨论】:

以上是关于使用Selenium打开网页,我想把网页中的某张图片下载下来可以吗?应该怎么操作?的主要内容,如果未能解决你的问题,请参考以下文章

在新标签页中打开网页 Selenium + Python

如何使用 python Selenium webdriver 滚动加载在网页中的 PDF?

我想把当前windows用户打开网页的运行方式用成另一个用户

爬虫---selenium动态网页数据抓取

Selenium Web 驱动程序 Firefox 打开空白页

(11)网页样式综合案列---灵活的电子相册 {上}