单击链接导致空白页

问题描述 投票:0回答:1

我制作了一个可以在无头模式或浏览器模式下运行的水豚脚本。 它尝试在Wiki中创建页面。 通过单击菜单栏中的“添加”,然后在打开的下拉菜单中单击“页面”,可以做到这一点。

这在浏览器模式下有效。 但是在无头模式(Webkit)中,单击链接“页面”后,将返回一个空页面。 谁能告诉我为什么会这样?

在我的代码中,我有这个

   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']">
""

所以找到链接(对LNK显示水豚::节点::元),但上的链接点击返回一个空页,而当该链接被点击浏览器,我得到的HTML就是链接后面。

我希望你能告诉我我所忽略的事情。

粗鲁

capybara capybara-webkit
1个回答
0
投票

Capybara-webkit已过时,基本上等同于使用8年的浏览器。 它很可能不再支持您正在与之交互的页面上使用的JS&CSS。 如果您需要无头的支持,那么最好不要使用capybara-webkit ,而要在无头模式下使用带有chrome的硒,或者通过CDP驱动程序(例如apparition )直接访问Chrome以与任何书面/最近几年更新。

© www.soinside.com 2019 - 2024. All rights reserved.