小编Pri*_*Nom的帖子

许多 CSS 变量对性能的影响

这是一个有点笼统的问题。

有人知道在给定文档中使用多个 CSS 变量对性能的影响吗?有人做过测试吗?

您将变量关联到的元素是否对性能有任何影响?例如,将所有变量分配给所有变量而:root不是将它们分配给可能只使用它们的单个样式块,对性能的影响是否更大?

css css-variables

20
推荐指数
2
解决办法
5281
查看次数

ConnectionAbortedError:[WinError 10053]已建立的连接已被主机中的软件中止

出于某种原因,只有在打开嵌套webdriver实例时才会出现以下错误.不知道这里发生了什么.

我使用的是Windows 10, geckodriver 0.21.0Python 3.7.

ConnectionAbortedError:[WinError 10053]

An established connection was aborted by the software in your host machine
Run Code Online (Sandbox Code Playgroud)

工作正常的脚本的一部分

tab_backers = ff.find_element_by_xpath('//a[@gogo-test="backers_tab"]')

try:
    funding_backers_count = int(''.join(filter(str.isdigit, str(tab_backers.text))))
except ValueError:
    funding_backers_count = 0

if funding_backers_count > 0:
    tab_backers.click()

    see_more_backers = WebDriverWait(ff, 10).until(
        EC.element_to_be_clickable((By.XPATH, '//ui-view//a[text()="See More Backers"]'))
    )
    clicks = 0
    while clicks < 0:
        clicks += 1
        ff.WebDriverWait(ff, 5).until(
            see_more_backers.click()
        )

    for container in ff.find_elements_by_xpath('//ui-view//div[@class="campaignBackers-pledge ng-scope"]'):
        backers_profile = container.find_elements_by_xpath('./*/div[@class="campaignBackers-pledge-backer-details"]/a')
        if …
Run Code Online (Sandbox Code Playgroud)

python selenium python-3.x selenium-webdriver geckodriver

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

使用和随机化代理

我只是想知道如何为每个请求设置一个特定的代理?!

以下块引用是文档中关于此的唯一内容.此外,文档仅提供Java的示例...

Firefox版本48及更新版本 - GeckoDriver
Firefox在配置文件中维护其代理配置.您可以在配置文件中预设代理并使用该Firefox配置文件,也可以在动态创建的配置文件中进行设置,如以下示例所示.使用GeckoDriver,代理必须通过所需的功能.

任何意见,将不胜感激!

python random selenium proxies selenium-webdriver

11
推荐指数
1
解决办法
410
查看次数

脚本突然停止爬行而没有错误或异常

我不确定为什么,但我的脚本一旦到达第9页就会停止爬行.没有错误,例外或警告,所以我有点不知所措.

有人可以帮帮我吗?

PS 这是完整的脚本,以防任何人想要自己测试它!

def initiate_crawl():
    def refresh_page(url):
        ff = create_webdriver_instance()
        ff.get(url)
        ff.find_element(By.XPATH, '//*[@id="FilterItemView_sortOrder_dropdown"]/div/span[2]/span/span/span/span').click()
        ff.find_element(By.XPATH, '//a[contains(text(), "Discount - High to Low")]').click()
        items = WebDriverWait(ff, 15).until(
            EC.visibility_of_all_elements_located((By.XPATH, '//div[contains(@id, "100_dealView_")]'))
        )
        print(len(items))
        for count, item in enumerate(items):
            slashed_price = item.find_elements(By.XPATH, './/span[contains(@class, "a-text-strike")]')
            active_deals = item.find_elements(By.XPATH, './/*[contains(text(), "Add to Cart")]')
            if len(slashed_price) > 0 and len(active_deals) > 0:
                product_title = item.find_element(By.ID, 'dealTitle').text
                if product_title not in already_scraped_product_titles:
                    already_scraped_product_titles.append(product_title)
                    url = ff.current_url
                    ff.quit()
                    refresh_page(url)
                    break
            if count+1 is len(items):
                try:
                    next_button = …
Run Code Online (Sandbox Code Playgroud)

python selenium urllib3 python-requests geckodriver

11
推荐指数
1
解决办法
997
查看次数

“剪裁”背景以在堆叠上下文中查看自身下方

[注意:寻找一个跨浏览器的解决方案,在ccprog的回答中看到,在每一波goo之间不会瞬间闪烁身体的背景;理想情况下,解决方案不应涉及等到第一波结束后才开始显示第二波,以便两个波可以同时运行。我愿意放弃动态随机化的 goop 以获得理想的解决方案。]

有谁知道我如何让第二波橙色粘液 ( .goo-two) “切穿”第一波棕色.goo-one粘液( ) 和天蓝色容器 ( .goo-container) 以显示或暴露红色主体元素 ( body) 或者,就此而言,任何在堆叠上下文中它下面的其他元素?是否可以?

值得注意的是,我给容器 ( .goo-container) 一个坚实的背景是因为我用它来掩盖网站其余部分的加载过程,我希望橙色粘液 ( .goo-two) 可以用来显示内容。因为橙色咕开始棕色咕完成,这将是改变contianer(背景完美时空之前淋漓它会变得棘手.goo-container)从skybluetransparent,虽然半透明渐变作为背景可能可以用来仍然实现这个。(要么是那个,要么是完全不同的东西,比如复制橙色层并使用一个来剪辑棕色路径,另一个来剪辑天蓝色层。)

有任何想法吗?

const
  gooCont = document.querySelector('div.goo-container'),
  gooOne = gooCont.querySelector('div.goo-one'),
  gooTwo = gooCont.querySelector('div.goo-two'),
  rand = (min, max) => Math.floor(Math.random() * (max - min + 1)) + min

gooCont.style.setProperty('--translateY', `translateY(-${innerWidth * 0.21 / innerHeight * 100 + 100}%)`)
generateGoo(gooOne)

function generateGoo(goo) {
  const
    randQty = rand(20,30),
    unit = …
Run Code Online (Sandbox Code Playgroud)

javascript css svg mask clip

10
推荐指数
1
解决办法
291
查看次数

Safari视口错误,位置固定和底部或顶部出现问题

我在iOS 12.3.1 Safari中遇到了一些奇怪的事情。这个问题至少可以追溯到iOS 12.2,但是我想这已经是一个更长的问题了。

尝试将元素与视口的底轴对齐时,该问题就会显现出来,并且在纵向和横向模式下都是一个问题。

为了重现该问题,该元素必须具备positionfixedabsolute,但它并不重要,你是否该元素具有位置toptransformbottom

人像模式

当Safari显示其压缩的URL栏(代替普通的URL和菜单栏)且没有垂直溢出时,此问题才会以纵向显示

普通URL和菜单栏//压缩URL栏

在此处输入图片说明 在此处输入图片说明

值得注意的是,只有在出现垂直溢出并且浏览器向下滚动或浏览器的方向从纵向更改为横向然后再次返回时(无论是否存在垂直溢出),才会显示浓缩菜单栏。

垂直溢出时更改方向//不溢出

在此处输入图片说明 在此处输入图片说明

我不确定这里到底发生了什么。

风景模式

横向模式的问题始终且仅在页面顶部显示正常导航栏时才会发生。由于向下滚动或方向从纵向更改为横向,因此导航栏仅在横向模式下处于隐藏状态。

垂直溢出

在此处输入图片说明 在此处输入图片说明

没有垂直溢出

在此处输入图片说明 在此处输入图片说明

有趣的是,横向模式下导航栏的高度明显偏移了视口,以便在显示导航栏时将视口的位置bottom: 0top: 100%视口推到视口之外。

纵向模式的胡扯“解决方法”

这是一个超级hack的解决方法,也是一个糟糕的解决方法,但这是迄今为止唯一的事情,position: fixed; bottom: 0;如果没有溢出,则在切换方向后会导致将元素实际放置在视口底部。

<div style='height: 0'>
  <!-- the quantity of <br> elements must create vertical overflow -->
  <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
  <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
  <!-- this does not work without the space character -->
  &nbsp;
</div>
Run Code Online (Sandbox Code Playgroud)

但是,我只是注意到它会造成看不见的垂直溢出,从而至少在Safari和Chrome中造成不必要的垂直滚动。我还担心这可能会导致无法测试的其他浏览器中的其他设备出现其他问题。


绝对令人讨厌的是,由于此错误,为了用户体验,网站有时有时看起来像废话。 …

html css iphone safari mobile

9
推荐指数
1
解决办法
2929
查看次数

window.getCompulatedStyle 始终返回以像素为单位的测量值

例如,我只是想知道为什么总是以像素为单位返回测量值,即使在位置明确设置为so 的window.getComputedStyle(element).top情况下也是如此。top%element.style.top = 25 + '%'

我在网上找不到任何信息。有谁知道为什么会这样吗?!

javascript methods window object

8
推荐指数
1
解决办法
2570
查看次数

如果文件或文件位置都不包含,请设置文件名和格式

我想设置"非典型文件"的文件名和格式,因为缺少更好的单词.文件存储在以下位置......

let link = https://.../videoplayback?ipbits=0&initcwndb...D134213BA9465CB74DFD36CDE47BF.102638C4A9F3ACA357F79EE747DD5F49F1E0F0DE

当人们下载这些文件时,即使它们是完全不同的文件,它们也总是以相同的名称保存,而不是文件扩展名.

我试过了url.download = link + '.mp4',但这没有任何效果.

我怎样才能做到这一点?

javascript html5 file download

7
推荐指数
1
解决办法
326
查看次数

找到任意两个数的所有公因数的最有效方法

我无法在 Math Exchange 或 Stackoverflow 上找到任何可以回答这个特定问题的问题。是我发现的最相似的问题,但问题的结构太差,答案完全不够。

我试过在谷歌上搜索无济于事。我确实发现了这一点,但该公式似乎效率低下,因此不足。例如,如果我们取数字 21...

21 % 1 = 0
21 % 2 = 1
21 % 3 = 0
21 % 4 = 1
21 % 5 = 1
21 % 6 = 3
21 % 7 = 0
...
Run Code Online (Sandbox Code Playgroud)

现在想象一下找到比 21 大得多的数字的公因数,例如 2,252 和 4,082……上面的方法无论如何都不会有效。

我想要做的是找出最有效的方法来找到任何两个数字的所有公因数。

求任意两个数的公因数的最佳方法是什么?

我在这个数学交换问题中被指示首先使用欧几里得算法找到最大公分母,可以这样写:

const gcd = (a, z) => a ? gcd(z % a, a) : z
Run Code Online (Sandbox Code Playgroud)

然后 Alice 指示我对两个数字进行质因数分解,然后我可以比较这些数以得到所有常见的质因数,从中可以推导出所有常见的非质数。值得注意的是,我什至不确定如何将其编写为代码。 …

javascript algorithm math

7
推荐指数
1
解决办法
6200
查看次数

手机上的按钮动态填充/高度问题

由于某些原因,如果值不是固定的而是动态的,则button与具有相同值的其他元素相比,它们具有额外的“填充”或“高度”

我已经在iOS上的Chrome和Safari中亲自验证了该问题,我的一位朋友在Android上的Chrome中验证了该问题。

A.填充的固定值

span, button {
  padding: 16px;
}
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

button右侧的高度1px更大,但是根据控制台日志,这两个元素在其他方面是相等的,实际上似乎是这样。

这是codepen

B.填充的动态值

span, button {
  padding: calc(var(--gap) / 2);
}

@media screen and (min-width: 0px) {
  html {
    --gap: calc(10px + (40 - 10) * (100vw - 0px) / (1200 - 0));
  }
}
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

显然,即使控制台说它们基本相等,并且button右边的span元素也比左边的元素高得多,并且两个元素的值完全相同...

这是codepen

  • A和B之间的唯一区别是B不使用固定值。

  • 在iOS和Android上都可以观察到这种奇怪的行为。

  • 设置appearancenone样式之前无效。

  • 一切都能在桌面浏览器上正常运行。

有人知道这是怎么回事吗?


更新

对元素应用line-height: 1.15margin: 0可以button …

html css mobile android ios

7
推荐指数
1
解决办法
453
查看次数