相关疑难解决方法(0)

如何使用javascript将图像转换为base64字符串

我需要将我的图像转换为base64字符串,以便我可以将我的图像发送到服务器.这个有没有js文件......?否则如何转换它

javascript base64

456
推荐指数
12
解决办法
63万
查看次数

如何使用我已知道其URL地址的Python在本地保存图像?

我知道Internet上图像的URL.

例如http://www.digimouth.com/news/media/2011/09/google-logo.jpg,其中包含Google的徽标.

现在,如何使用Python下载此图像,而无需在浏览器中实际打开URL并手动保存文件.

python web-scraping

135
推荐指数
8
解决办法
20万
查看次数

JavaScript模拟右键单击代码

我正在使用Selenium编写一些UI测试,并且使用Dojo工具包,我有一个JavaScript Tree控件.

我已经使用Dojo提供的示例为树的每个节点实现了一个上下文菜单,但是我需要Selenium测试来"调用"树节点上的右键单击,但我无法使其工作.测试只是不通过JavaScript模拟右键单击事件,并且上下文菜单不会显示.

有没有人有任何使用Dojo和Selenium在上下文菜单上调用右键的经验?或者对如何做到这一点有任何想法?

javascript dojo selenium mouseevent

27
推荐指数
3
解决办法
5万
查看次数

用selenium python下载图像

我想从浏览器获取验证码图像.我有这个图片的网址,但这张图片更改了每个更新的时间(网址是不变的).

是否有任何解决方案从浏览器获取图片(如"将图片另存为"按钮)?

从另一方面,我认为它应该是工作:

  1. 获取浏览器的屏幕截图
  2. 得到图片的位置
  3. 使用opencv从截图中裁剪验证码

动态capcha - link的链接

问题通过截图解决:

browser.save_screenshot('screenshot.png')
img = browser.find_element_by_xpath('//*[@id="cryptogram"]')
loc = img.location

image = cv.LoadImage('screenshot.png', True)
out = cv.CreateImage((150,60), image.depth, 3)
cv.SetImageROI(image, (loc['x'],loc['y'],150,60))
cv.Resize(image, out)
cv.SaveImage('out.jpg', out)
Run Code Online (Sandbox Code Playgroud)

谢谢

python firefox selenium selenium-webdriver

25
推荐指数
3
解决办法
5万
查看次数

硒和异步JavaScript调用

我对Selenium和JavaScript回调函数还很陌生,但有一个大问题我无法解决。我需要使用JavaScript的指定变量。如果我使用GoogleChrome打开页面并使用控制台输入我的JavaScript代码,则可以使用类似以下内容的变量:

1. var myId;
2. getSomeIdStuffInfo("somestuff",function(docId)(myId = docId));
3. return myId;
Run Code Online (Sandbox Code Playgroud)

如果我逐步输入此行,则很容易获得正确的值myId。但是,当然,如果我尽可能快地执行这三行,我将获得null作为返回值,因为当我返回myId时回调函数并未完成。SOOOO ..如果我像这样使用硒:

JavascriptExecutor js = (JavascriptExecutor) driver; 
    String docInfoVal = (String) js.executeScript("" +
            "var myId; " +
            "getCurrentDocumentInfo(\"somestuff\"," +
                "function(docId) {" +
                    "myId = docId;" +
                "}" +
            ");" +
            "return myId;");
Run Code Online (Sandbox Code Playgroud)

我只会得到null作为结果。所以...以某种方式我必须“等待”回调函数,直到我返回myId。我必须使用executeAsyncScript吗?我坐在上面几个小时,尝试了不同的方法,但是我找不到答案。

在此先感谢您的帮助!

javascript selenium asynchronous function callback

6
推荐指数
1
解决办法
4081
查看次数

在 Python 中使用 Selenium Webdriver 下载图像

我正在尝试使用 Python 中的 Selenium Webdriver 从 URL 下载图像。该站点受登录页面保护,因此不能仅使用请求保存 URL 内容。登录后我可以从站点获取文本,但我不知道如何保存图像。

登录该站点后,我可以执行此操作,browser.save_screenshot(filename + '.png')但该图像与原始图像的大小不正确。

我现在拥有的代码是这样的:

browser = webdriver.Chrome('../chromedriver')
browser.get('www.example.com/login')
# send username and password, click submit

browser.get('www.example.com/123')
html = browser.page_source
printData(html)

# this url is an image file
browser.get('www.example.com/get_photo.php?id=123')
browser.save_screenshot(filename + '.png')
Run Code Online (Sandbox Code Playgroud)

理想情况下,我想用类似的save_screenshot()东西替换

with open(filename + '.jpeg', 'w') as img:
    img.write(browser.download_current_image())
Run Code Online (Sandbox Code Playgroud)

甚至像这样的东西,与弹出菜单交互

browser.right_click()
browser.down_arrow_key()
browser.return_key()
Run Code Online (Sandbox Code Playgroud)

或模拟按键

browser.command_key()
browser.s_key()
Run Code Online (Sandbox Code Playgroud)

这个问题给出了我想要的答案,但不适用于 Python。如果有办法在 Python 中执行该问题中建议的任何操作(除了截屏),那将是一个很好的解决方案。

python selenium selenium-webdriver

6
推荐指数
1
解决办法
6612
查看次数

如果URL以"blob:"开头,如何使用Python 3/Selenium下载图像?

使用web.whatsapp.de时,可以看到收到的图片的链接可能如下所示:

blob:https://web.whatsapp.com/3565e574-b363-4aca-85cd-2d84aa715c39
Run Code Online (Sandbox Code Playgroud)

如果将链接复制到地址窗口,它将打开图像,但是 - 如果省略"blob" - 它将只打开一个新的web whatsapp窗口.

我正在尝试下载此链接显示的图像.

但是使用常见的技术,例如使用request,urllib.request甚至BeautifulSoup总是在某一点上挣扎:url开头的"blob"会抛出错误.

这些答案使用Python从Blob URL下载文件 将显示错误

URLError: <urlopen error unknown url type: blob>
Run Code Online (Sandbox Code Playgroud)

或错误

InvalidSchema: No connection adapters were found for 'blob:https://web.whatsapp.com/f50eac63-6a7f-48a4-a2b8-8558a9ffe015'
Run Code Online (Sandbox Code Playgroud)

(使用BeatufilSoup)

使用原生方法,如:

import requests

url = 'https://web.whatsapp.com/f50eac63-6a7f-48a4-a2b8-8558a9ffe015'
fileName = 'test.png'
req = requests.get(url)
file = open(fileName, 'wb')
for chunk in req.iter_content(100000):
    file.write(chunk)
file.close()
Run Code Online (Sandbox Code Playgroud)

只会导致与使用BeautifulSoup相同的错误.

我在Python中使用Selenium控制Chrome,但是我无法使用提供的链接正确下载图像.

javascript python url selenium whatsapp

5
推荐指数
1
解决办法
3021
查看次数