相关疑难解决方法(0)

如何从Chrome网上应用店下载特定ID的CRX文件?

我想从webstore下载扩展名的.crx文件,当我从webstore安装扩展程序时,我使用fiddler来分析网络请求.
例如,对于扩展程序:https://chrome.google.com/webstore/detail/bjclhonkhgkidmlkghlkiffhoikhaajg
,下载链接为:

https://clients2.googleusercontent.com/crx/download/OgAAADQ_Loe5gfVPF2OUaB35tvex-NKlmA8V4K5YlWuvLCknMH7egLLmnMoFuCZePl_idE1GMf8jZC2KbjQqyyLDoDAAxlKa5eDp-z9frOp​​pHWtQsRU3-iGrrrrA/extension_1_7_11.crx
现在我不知道是否有一个通用的方法得到的.crx扩展的,问题是如何做谷歌加密

bjclhonkhgkidmlkghlkiffhoikhaajg

OgAAADQ_Loe5gfVPF2OUaB35tvex-NKlmA8V4K5YlWuvLCknMH7egLLmnMoFuCZePl_idE1GMf8jZC2KbjQqyyLDoDAAxlKa5eDp-z9frOppHWtQsRU3-iGrrrrA

任何想法都会有所帮助.

google-chrome download google-chrome-extension chrome-web-store

68
推荐指数
6
解决办法
7万
查看次数

使用Selenium WebDriver和Java切换选项卡

使用Selenium WebDriver和JAVA.我试图自动化一个功能,我必须打开一个新的选项卡在那里做一些操作,然后回到上一个选项卡(父).我使用了开关手柄,但它不起作用.还有一个奇怪的事情是两个标签有相同的窗口句柄,因此我无法在标签之间切换.

但是,当我尝试使用不同的Firefox窗口时,它可以工作,但是对于标签,它不起作用.

请帮我,如何切换标签.或者如何在不使用窗口句柄的情况下切换标签,因为在我的情况下,窗口句柄与两个标签相同.

(我观察到当你在同一个窗口中打开不同的标签时,窗口句柄保持不变)

java testing selenium automation selenium-webdriver

61
推荐指数
5
解决办法
23万
查看次数

将列表拆分为n组的替代方法

假设我有一个任意长度的列表,L:

L = list(range(1000))
Run Code Online (Sandbox Code Playgroud)

将该列表拆分成组的最佳方法是n什么?这是我能够提出的最好的结构,并且由于某种原因,它不觉得它是完成任务的最佳方式:

n = 25
for i in range(0, len(L), n):
    chunk = L[i:i+25]
Run Code Online (Sandbox Code Playgroud)

是否有内置功能,我缺少这个?

编辑:早期的答案是将我的for循环重新编写为listcomp,这不是主意; 你基本上以不同的形式给我我的确切答案.我正在看是否有另一种方法可以实现这一点,就像.split列表上的假设一样.我也在昨晚写的一些代码中使用它作为生成器:

def split_list(L, n):
    assert type(L) is list, "L is not a list"
    for i in range(0, len(L), n):
        yield L[i:i+n]
Run Code Online (Sandbox Code Playgroud)

python

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

使用Selenium扩展(Python)

我目前正在使用Selenium来运行Chrome实例以测试网页.每次我的脚本运行时,都会启动一个干净的Chrome实例(清除扩展名,书签,浏览历史记录等).我想知道是否可以使用Chrome扩展程序运行我的脚本.我已经尝试过搜索Python示例,但是当我用Google搜索时没有出现任何问题.

python selenium google-chrome selenium-webdriver

17
推荐指数
3
解决办法
2万
查看次数

如何将具有多个参数的函数传递给python concurrent.futures.ProcessPoolExecutor.map()?

我想concurrent.futures.ProcessPoolExecutor.map()调用一个由2个或更多参数组成的函数.在下面的示例中,我使用了一个lambda函数并将其定义refnumberlist具有相同值的相同大小的数组.

第一个问题:有更好的方法吗?在numberlist的大小可能是数百万到数十亿个元素的情况下,因此ref大小必须遵循numberlist,这种方法不必要地占用宝贵的内存,我想避免.我这样做是因为我读取map函数将终止其映射,直到达到最短的数组结束.

import concurrent.futures as cf

nmax = 10
numberlist = range(nmax)
ref = [5, 5, 5, 5, 5, 5, 5, 5, 5, 5]
workers = 3


def _findmatch(listnumber, ref):    
    print('def _findmatch(listnumber, ref):')
    x=''
    listnumber=str(listnumber)
    ref = str(ref)
    print('listnumber = {0} and ref = {1}'.format(listnumber, ref))
    if ref in listnumber:
        x = listnumber
    print('x = {0}'.format(x))
    return x 

a = map(lambda x, y: _findmatch(x, y), numberlist, ref)
for n …
Run Code Online (Sandbox Code Playgroud)

python concurrency lambda python-3.x concurrent.futures

12
推荐指数
3
解决办法
9159
查看次数

访问shadow DOM中的元素

是否可以使用python-selenium 在Shadow DOM中找到元素

用例示例:

我有这个inputtype="date":

我想点击右边的日期选择按钮,然后从日历中选择一个日期.

如果您要检查Chrome开发者工具中的元素并展开日期输入的影子根节点,您会看到该按钮显示为:

<div pseudo="-webkit-calendar-picker-indicator" id="picker"></div>
Run Code Online (Sandbox Code Playgroud)

屏幕截图演示了它在Chrome中的外观:

在此输入图像描述

按ID查找"选择器"按钮会导致NoSuchElementException:

>>> date_input = driver.find_element_by_name('bday')
>>> date_input.find_element_by_id('picker')
...
selenium.common.exceptions.NoSuchElementException: Message: no such element
Run Code Online (Sandbox Code Playgroud)

我也尝试过使用::shadow/deep/定位器的建议在这里:

>>> driver.find_element_by_css_selector('input[name=bday]::shadow #picker')
...
selenium.common.exceptions.NoSuchElementException: Message: no such element
>>>
>>> driver.find_element_by_css_selector('input[name=bday] /deep/ #picker')
...
selenium.common.exceptions.NoSuchElementException: Message: no such element
Run Code Online (Sandbox Code Playgroud)

请注意,我可以通过向其发送密钥来更改输入中的日期:

driver.find_element_by_name('bday').send_keys('01/11/2014')
Run Code Online (Sandbox Code Playgroud)

但是,我想通过从日历中选择日期来具体设置日期.

javascript python selenium selenium-webdriver shadow-dom

9
推荐指数
2
解决办法
5408
查看次数

从Selenium WebDriver运行chrome扩展

我知道如何在selenium webdriver中加载chrome扩展.但我没有看到任何帖子/博客描述我如何从Selenium 运行 chrome扩展.

我需要明确地运行chrome扩展/使其从selenium执行它的功能.例如,我想使用此扩展程序使用Selenium Webdriver 清除Chrome浏览器的缓存.

我可以在第一时间做到吗?或者Selenium WebDriver是否只帮助我将扩展程序加载到浏览器实例中并将其保留在那里?

.net selenium google-chrome-extension selenium-chromedriver selenium-webdriver

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

如何使用 python 在 selenium 中加载 chrome 驱动程序中的扩展

我打开启用了 Browsec 扩展的 Chrome 浏览器的所有努力都失败了。这是我上次尝试过的 -

# Configure the necessary command-line option.
options = webdriver.ChromeOptions()
options.add_argument(r'--load- 
extension=C:\Users\lap0042\AppData\Local\Google\Chrome\User 
Data\Default\Extensions\omghfjlpggmjjaagoclmmobgdodcjboh')

# Initalize the driver with the appropriate options.
driver = webdriver.Chrome(chrome_options=options)

driver.get("http://stackoverflow.com")
Run Code Online (Sandbox Code Playgroud)

这会导致错误“无法从 .Manifest 文件加载扩展名丢失或无法读取”

搜索此错误后,我发现 Manifest.json 文件应重命名为 manifest.json.txt,但这样做会导致相同的错误。

任何帮助将不胜感激

在此输入图像描述

python selenium google-chrome google-chrome-extension selenium-chromedriver

4
推荐指数
1
解决办法
2万
查看次数

WebDriverException:消息:未知错误:无法处理来自未知错误的扩展 #1:CRX 验证失败:3

鉴于带有 Selenium 的 Robot 框架已准备好在 Chrome 中执行测试并且它工作了很长时间当我现在使用 Jenkins 在 Robot 框架中执行测试时,我收到错误“02:05:44 WebDriverException:消息:未知错误:无法处理扩展# 1 02:05:44 来自未知错误:CRX 验证失败:3"

升级后的 Chrome 和驱动程序是否可能无法使用旧插件?我应该怎么做才能解决这个问题?升级插件?升级驱动程序(可能是旧驱动程序)?

linux jenkins robotframework selenium-webdriver

4
推荐指数
1
解决办法
5090
查看次数

如何在Google Chrome浏览器中禁用网站隔离?

Chrome 67已在Windows,Mac,Linux和Chrome OS上启用了站点隔离,这使内存使用量增加了10-13%,并给Web开发人员带来了一些问题:

  • 全页多帧布局不再同步,因为页面的帧可能分散在多个进程中,
  • beforeunload事件处理程序无法在跨站点子帧中运行,并且unload事件处理程序可能与postMessage
  • DevTools的“网络”面板不显示跨站点子资源请求的cookie和其他请求标头。

我想节省RAM而不是额外的安全性。如何禁用站点隔离?

google-chrome

3
推荐指数
1
解决办法
3899
查看次数