我正在尝试将 javascript 注入(inject) WKWebView,以便将商品添加到网站上的购物车。
我有一个按钮:
<input type="submit" name="commit" value="add to cart" class="button">
这是我的代码:
webView.evaluateJavaScript("document.querySelector('[value=\"add to cart\"]').click();") { (result, error) in
if error != nil {
print("Error: ", result)
}
}
//do something
我在运行这段代码时收到了一个零错误。我还尝试插入 submit
类型作为选择器,结果仍然是 nil。有没有可能 DOM 还没有加载?我试图通过在评估 javascript 之前添加一个临时 sleep(3) 来解决这个问题,但仍然没有。
最佳答案
您可以通过名称获取它,然后为其添加点击监听器。
document.getElementsByName("commit")[0].addEventListener('click', myFunction, false);
function myFunction() {
//your code here
}
关于javascript - 注入(inject)javascript点击html按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55995473/