如何使用 Swift 单击 Javascript 中的按钮
How to click a Button in Javascript with Swift
嘿,我想知道如何点击这个简单的小按钮,但我失败了。
这是正确的代码实现,但 javascript 中的路径错误。我需要点击 a<
或者如果我可以调用连接到按钮的函数
我也试过点击 td< 但没有任何反应,因为按钮实际上是 a<
代码:
// no errors print but nothing happens
self.webView.evaluateJavaScript("document.getElementById('participant-page-results-more').click();"){ (value, error) in
if error != nil {
print(error!)
}
}
已更新答案仍然没有,但我认为很接近,@Michael Hulet:
self.webView.evaluateJavaScript("document.querySelector('#participant-page-results-more').getElementsByTagName('a')[0].click();"){ (value, error) in
if error != nil {
print(error!)
} else {
}
}
// Or
self.MainWebView.evaluateJavaScript("document.querySelector('#participant-page-results-more a').click();"){ (value, error) in
if error != nil {
print(error!)
} else {
}
}
但有趣的是,当我使用 .innerText 而不是 .click 时,会返回 Show more matches 标签。
更新 2:
尝试直接加载函数也没有任何作用
self.MainWebView.evaluateJavaScript("window.loadMoreGames();"){ (value, error) in
if error != nil {
print(error!)
}
}
// Or
self.MainWebView.evaluateJavaScript("window[loadMoreGames]"){ (value, error) in
if error != nil {
print(error!)
}
}
// Or
self.MainWebView.evaluateJavaScript("loadMoreGames();"){ (value, error) in
if error != nil {
print(error!)
}
}
为了触发该功能,您需要点击<a>
标签(监听点击的HTML标签),但是您查找的id
在 <table>
标签上。请注意,此处的关键更改是不同的 selector/selection 方法,但请尝试以下操作:
self.webView.evaluateJavaScript("document.querySelector('#participant-page-results-more a').click();"){ (value, error) in
if let err = error {
print(err)
}
}
嘿,我想知道如何点击这个简单的小按钮,但我失败了。
这是正确的代码实现,但 javascript 中的路径错误。我需要点击 a<
或者如果我可以调用连接到按钮的函数
我也试过点击 td< 但没有任何反应,因为按钮实际上是 a<
代码:
// no errors print but nothing happens
self.webView.evaluateJavaScript("document.getElementById('participant-page-results-more').click();"){ (value, error) in
if error != nil {
print(error!)
}
}
已更新答案仍然没有,但我认为很接近,@Michael Hulet:
self.webView.evaluateJavaScript("document.querySelector('#participant-page-results-more').getElementsByTagName('a')[0].click();"){ (value, error) in
if error != nil {
print(error!)
} else {
}
}
// Or
self.MainWebView.evaluateJavaScript("document.querySelector('#participant-page-results-more a').click();"){ (value, error) in
if error != nil {
print(error!)
} else {
}
}
但有趣的是,当我使用 .innerText 而不是 .click 时,会返回 Show more matches 标签。
更新 2:
尝试直接加载函数也没有任何作用
self.MainWebView.evaluateJavaScript("window.loadMoreGames();"){ (value, error) in
if error != nil {
print(error!)
}
}
// Or
self.MainWebView.evaluateJavaScript("window[loadMoreGames]"){ (value, error) in
if error != nil {
print(error!)
}
}
// Or
self.MainWebView.evaluateJavaScript("loadMoreGames();"){ (value, error) in
if error != nil {
print(error!)
}
}
为了触发该功能,您需要点击<a>
标签(监听点击的HTML标签),但是您查找的id
在 <table>
标签上。请注意,此处的关键更改是不同的 selector/selection 方法,但请尝试以下操作:
self.webView.evaluateJavaScript("document.querySelector('#participant-page-results-more a').click();"){ (value, error) in
if let err = error {
print(err)
}
}