单击 link 会生成空白页面

clicking link results in empty page

我制作了一个可以在无头模式或浏览器模式下运行的水豚脚本。它尝试在 wiki 中创建一个页面。为此,请单击菜单栏中的 'Add',然后单击打开的下拉菜单中的 'Page'。

这适用于浏览器模式。但是在无头模式下(webkit),点击 link 'Page' 后,返回一个空页面。谁能告诉我为什么会这样?

在我的代码中,我有这个

   click_link 'Add'
    if ENV['BROWSER'] == 'headless'
        wait_for_ajax
        verbose( "headless add page", 3)
        p page.html
        lnk = all( :css, "#createPageLink").first
        p lnk
        wait_for_ajax
        lnk.click
      else
        verbose( "klik Page", 3)
        click_link 'Add a Page'
        lnk = all( :css, "#createPageLink").first
        p lnk
        lnk.click
    end
    wait_for_ajax
    p page.html

无头模式下的输出

PAGEHTML</div></body></html>"
#<Capybara::Node::Element tag="a" path="/html/body[@id='com-atlassian-confluence']/div[@id='full-height-container']/div[@id='splitter']/div[@id='splitter-content']/div[@id='main']/div[@id='main-header']/div[@id='navigation']/ul/li[3]/div/ul[@id='add-menu-link-space']/li[1]/a[@id='createPageLink']">
""

所以 link 找到的(p lnk 显示 Capybara::Node::Element),但是点击 links returns 一个空页面,而当浏览器单击 link 时,我得到 link 后面的 html。

我希望你能告诉我我忽略了什么....

路德

Capybara-webkit 已过时,基本上等同于 8 年前的浏览器。它很可能不再支持在您与之交互的页面上使用的 JS 和 CSS。如果您需要无头支持,最好不要使用 capybara-webkit 而是在无头模式下使用带有 chrome 的 selenium,或者通过 CDP 驱动程序直接使用 Chrome 之一(喜欢 apparition) 在过去几年中与任何网站互动 written/updated。