我一直在使用click()phantomJS引擎page.evaluate(),它工作得很好.但有时它只是不起作用我不知道为什么.
例如,我试图点击按钮验证这里
我试过这个:
page.evaluate(function() {
document.getElementById('recaptcha-verify-button').click();
});
Run Code Online (Sandbox Code Playgroud)
还有这个 :
rect = page.evaluate(function() {
return document.getElementById('recaptcha-verify-button').getBoundingClientRect();
});
console.log(rect.left + " " + rect.right);
page.sendEvent('mousemove', rect.left + rect.width / 2, rect.top + rect.height / 2);
page.sendEvent('mousedown', rect.left + rect.width / 2, rect.top + rect.height / 2);
page.sendEvent('mouseup', rect.left + rect.width / 2, rect.top + rect.height / 2)
Run Code Online (Sandbox Code Playgroud)
两者都不起作用,之后没有输出click(),我在chrome上尝试了相同但是它是相同的.任何想法或建议表示赞赏.
我遇到了获取数组最大属性数的问题
-- Getting Maximum number of full grids inside Row
maxRow = math.max(checkerRow[1],checkerRow[2],checkerRow[3],checkerRow[4],checkerRow[5],
checkerRow[6],checkerRow[7],checkerRow[8],checkerRow[9],checkerRow[10],
checkerRow[11],checkerRow[12],checkerRow[13],checkerRow[14],checkerRow[15],
checkerRow[16],checkerRow[17],checkerRow[18],checkerRow[19],checkerRow[20])
print("Max Row : "..maxRow)
Run Code Online (Sandbox Code Playgroud)
所以它打印出maxRow里面的值,我需要一些实际上可以给我行数的东西,比如checkerRow [6]是最大数,那么我需要maxRow等于6.
如果你觉得这个问题很愚蠢,我很抱歉,我是Lua的新手.
这是我用来从网页获取所有文本内容的代码。但它不起作用,我不知道我在做什么错。
<tr style="color:#000000" class="odd">
<td style="padding:5px 5px 5px 10px" align="center"><input type="checkbox" name="cards[]" id="card_278002" value="278002"></td>
<td align="center">411756</td>
<td align="center">Sherrie</td>
<td align="center">89852</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
那就是我的Js代码:
function get42() {
return document.querySelectorAll('tr>td').textContent;
}
console.log(page.evaluate(get42));
Run Code Online (Sandbox Code Playgroud)
输出:null..我在做什么错?