小编A.H*_*mza的帖子

Docker Compose 表示 $PWD 变量未设置 Windows

我是码头工人的新手。我目前有 docker-compose.yml,其中我想将当前目录安装到容器中的“/usr/share/data”。所以像这样:

volumes:
    - ${PWD}/data:/usr/share/data/
Run Code Online (Sandbox Code Playgroud)

我正在使用 Windows 和 Linux 子系统,想知道为什么它无法获取 PWD 变量。相同的代码在 Linux 机器上运行良好。请告诉我如何设置环境PWD。我需要手动执行此操作还是可以使用相同的 docker-compose 文件执行此操作。使用.而不是 ${PWD} 不会出现目录错误,我看到很多论坛都说这是 Windows 问题。

windows pwd docker docker-compose

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

使用 Selenium + Python 遍历链接并从结果页面中抓取数据

我是 Selenium 的新手,需要抓取一个网站,其中包含一个结构完全如下的链接列表:

<a class="unique" href="...">
    <i class="something"></i>
    "Text - "
    <span class="something">Text</span>
</a>
<a class="unique" href="...">
    <i class="something"></i>
    "Text - "
    <span class="something">Text</span>
</a>
...
...
Run Code Online (Sandbox Code Playgroud)

我需要在循环内单击此链接列表并从结果页面中抓取数据。到目前为止我所做的是:

lists = browser.find_elements_by_xpath("//a[@class='unique']")
for lis in lists:
    print(lis.text)
    lis.click()
    time.sleep(4)
    # Scrape data from this page (works fine).
    browser.back()
    time.sleep(4)
Run Code Online (Sandbox Code Playgroud)

它适用于第一个循环,但当第二个循环到达时

print(lis.text)
Run Code Online (Sandbox Code Playgroud)

它抛出一个错误说:

StaleElementReferenceException:消息:过时的元素引用:元素未附加到页面文档

我试过了print (lists),它给出了所有链接元素的列表,所以工作正常。当浏览器返回上一页时会出现问题。我试过延长时间并使用browser.get(...)而不是,browser.back()但错误仍然存​​在。我不明白为什么它不会打印,lis.text因为列表仍然包含所有元素的列表。任何帮助将不胜感激。

python selenium

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

标签 统计

docker ×1

docker-compose ×1

pwd ×1

python ×1

selenium ×1

windows ×1