gpt4 book ai didi

xpath - 所有 XPath 在 CasperJS 中都返回一个不存在的错误?

转载 作者:行者123 更新时间:2023-12-03 17:36:39 24 4
gpt4 key购买 nike

为了清楚起见,我使用的是 SpookyJS,它是一个允许 headless CasperJS 的库。

我可以在所有其他页面上单击并选择其他 XPath,问题仅在特定页面上,页面加载完美,但所有 XPath 都返回此错误。

Cannot dispatch mousedown event on nonexistent selector



在函数尝试单击 xPath 之前,我截取了一个屏幕截图,屏幕截图显示页面已完美加载。

如果我尝试使用 waitForSelector函数我收到超时错误,我在不同的页面上尝试了不同的 XPath,但它们都不起作用。

这是我在 CoffeeScript 中的代码,不要介意 spooky.then把它想象成 casper.then :

// 3 steps occur before this and they work perfectly
spooky.then([{x:selectXPath}, () ->
@wait(3000, () ->
eval(x) // This loads the xPath function
@capture('server/components/spooky/img.png')
@click(xPath('//*[@id="wp-page-header-middle"]/table/tbody/tr/td[1]/a'))
)
])

我感兴趣的表在 iframe 内。

最佳答案

问题是该元素位于 iframe 内部。可以选择元素,但您首先需要切换到 iframe 的上下文才能对其运行操作。这是通过 withFrame() 完成的。 .您可以按索引或名称选择 iframe。这是一个索引示例(第一个 iframe):

@withFrame(0, () ->
@click(xPath('//*[@id="wp-page-header-middle"]/table/tbody/tr/td[1]/a'))
)

您可能还需要调整 XPath,因为 tbody最初可能不会出现在标记中。 PhantomJS 1.x 不像现代浏览器那样添加它,所以你可能需要动态地这样做:
'//*[@id="wp-page-header-middle"]/table//tr/td[1]/a'

关于xpath - 所有 XPath 在 CasperJS 中都返回一个不存在的错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27901778/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com