WKWebView javascript方法click()什么也不做

时间:2019-01-28 01:52:20

标签: javascript swift web-crawler wkwebview

在我的xcode项目中,我试图通过WKWebView单击使用javascript的链接,这应该是正确的代码,但是它没有执行应有的操作。我还有其他几行JavaScript代码可以获取innerHTML和输入值,而不会出现任何问题,加载网站也没有问题。

我尝试通过以下方式修改代码:在末尾添加分号,使用大写字母c(单击),将程序更改为按标签而不是按类查找,并尝试在UIWebView中使用同一行代码仍然不起作用

let webView = WKWebView()

let url = URL(string: "https://example.com")
webView.load(URLRequest(url:url!))
//A button activates the latter code, the site has been successfully loaded 
//before I press it

//I have other lines of code like this that will change values, submit 
//forms, etc. this line of code doesn't do anything
webView.evaluateJavaScript("document.getElementByTagName('a')[0].click()", 
completionHandler: nil)

我希望这行代码单击第一个链接,然后将我重定向到该页面,相反,代码使我离开了我开始的页面,而没有执行click动作。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

  1. 文档尚未完全加载。试试这个alert(document.getElementsByTagName('a').length) 等待文档完全加载,然后执行
  2. 您必须检查click事件是否已绑定