Я написал код для автоматического входа в систему и делал некоторые вещи для своих школьных работ. Я написал этот код в python3 с селеном, и он отлично работает, код для python такой:
from selenium import webdriver
driver= webdriver.Chrome(executable_path="/Users/kasra/Desktop/chromedriver")
driver.get("https://karsanj.net/login.php")
driver.maximize_window()
driver.find_element_by_id("username").send_keys("********")
driver.find_element_by_id("password").send_keys("****")
driver.find_element_by_class_name("btn").click()
driver.find_element_by_link_text("گزارش ها").click()
driver.find_element_by_link_text("پرونده دانش آموزی").click()
driver.find_element_by_id("study").click()
Так что теперь я преобразовываю этот код в программу swift, чтобы легко запускать ее на мой телефон. В командах j4 и j5, которые я написал, есть ошибка, и я не могу понять, каков правильный синтаксис, чтобы он работал:
import UIKit
import WebKit
class ViewController: UIViewController , WKNavigationDelegate{
@IBOutlet weak var user: UITextField!
@IBOutlet weak var pass: UITextField!
@IBOutlet var webView: WKWebView!
override func viewDidLoad() {
super.viewDidLoad()
let url = URL(string: "https://karsanj.net/login.php")!
webView.navigationDelegate = self
webView.load(URLRequest(url : url))
createToolbar()
}
func createToolbar(){
let Toolbar = UIToolbar()
Toolbar.sizeToFit()
let done = UIBarButtonItem(barButtonSystemItem: UIBarButtonItem.SystemItem.done, target: self, action: #selector(self.doneClicked))
Toolbar.setItems([done], animated: false)
Toolbar.isUserInteractionEnabled = true
user.inputAccessoryView = Toolbar
user.autocorrectionType = .no
pass.inputAccessoryView = Toolbar
pass.autocorrectionType = .no
}
@objc func doneClicked() {
view.endEditing(true)
}
@IBAction func saat(){
view.endEditing(true)
let j1="document.getElementById('username').value='\(user.text!)';"
let j2="document.getElementById('password').value='\(pass.text!)';"
let j3="document.getElementsByClassName('btn')[0].click();"
let j4="document.querySelector('#گزارش ها a')[0].click();"
let j5="document.querySelector('#پرونده دانش آموزی a')[0].click();"
let j6="document.getElementById('study')[0].click();"
webView.evaluateJavaScript(j1, completionHandler: nil)
webView.evaluateJavaScript(j2, completionHandler: nil)
webView.evaluateJavaScript(j3, completionHandler: nil)
webView.evaluateJavaScript(j4, completionHandler: nil)
webView.evaluateJavaScript(j5, completionHandler: nil)
webView.evaluateJavaScript(j6, completionHandler: nil)
}
}