- Trước tiên, bạn có thể đọc các jquery từ một jquery.js hoặc file jquery.min.js.
- Sau đó sử dụng execute_script (jquery) để bật jquery động.
- Bây giờ bạn có thể tương tác với jquery.
đây là một số mã:
browser = webdriver.Firefox() # Get local session of firefox
with open('jquery.min.js', 'r') as jquery_js: #read the jquery from a file
jquery = jquery_js.read()
browser.execute_script(jquery) #active the jquery lib
#now you can write some jquery code then execute_script them
js = """
var str = "div#myPager table a:[href=\\"javascript:__doPostBack('myPager','%s')\\"]"
console.log(str)
var $next_anchor = $(str);
if ($next_anchor.length) {
return $next_anchor.get(0).click(); //do click and redirect
} else {
return false;
}""" % str(25)
success = browser.execute_script(js)
if success == False:
break
PS: Khi tôi sử dụng Selenium để lấy một số nội dung từ một số trang web, họ luôn cấm tôi. Bây giờ bạn nên sử dụng một số proxy để đi qua nó.
đây là một số mã:
PROXY_HOST = "127.0.0.1"
PROXY_PORT = 8087
SOCKS_PORT = 8088
fp = webdriver.FirefoxProfile()
# Direct = 0, Manual = 1, PAC = 2, AUTODETECT = 4, SYSTEM = 5
fp.set_preference("network.proxy.type", 1)
fp.set_preference("network.proxy.http", PROXY_HOST)
fp.set_preference("network.proxy.http_port", PROXY_PORT)
fp.set_preference("network.proxy.socks", PROXY_HOST)
fp.set_preference("network.proxy.socks_port", SOCKS_PORT)
fp.set_preference("network.proxy.ftp", PROXY_HOST)
fp.set_preference("network.proxy.ftp_port", PROXY_PORT)
fp.set_preference("network.proxy.ssl", PROXY_HOST)
fp.set_preference("network.proxy.ssl_port", PROXY_PORT)
fp.set_preference("network.proxy.no_proxies_on", "") # set this value as desired
browser= webdriver.Firefox(firefox_profile=fp) # with proxy
browser = webdriver.Firefox() # no proxy
browser.get("http://search.example.com") # Load page
elem = browser.find_element_by_id("query_box") # Find the query input
elem.send_keys(u'my query string') # send query string to the input
elem.submit() # submit the query form
Nguồn
2012-08-15 02:54:41
Thật tuyệt vời và tiết kiệm rất nhiều công việc tích hợp. Cảm ơn. –
Phương thức noConflict của jQuery được gọi ở đây: https://github.com/Nthalk/SeleniumJQuery/blob/master/src/com/anteambulo/SeleniumJQuery/jQueryFactory.java#L144 – Nthalk