Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓƵ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
seleniumÓ÷¨Ïê½â
 
  2489  次浏览      17
 2018-8-1
 

 

±à¼­ÍƼö:

±¾ÎÄÀ´×ÔÓÚcsdn£¬±¾ÎÄÖ÷Òª½éÉÜÁËÔÚselenium¹¤¾ß»ù±¾¿ò¼ÜÒÔ¼°¶ÔËüµÄ²Ù×÷²½Öè½øÐÐÁËÏêϸ˵Ã÷¡£

selenium ÊÇÒ»¸öÓÃÓÚWebÓ¦ÓóÌÐò²âÊԵŤ¾ß¡£Selenium²âÊÔÖ±½ÓÔËÐÐÔÚä¯ÀÀÆ÷ÖУ¬¾ÍÏñÕæÕýµÄÓû§ÔÚ²Ù×÷Ò»Ñù¡£Ö§³ÖµÄä¯ÀÀÆ÷°üÀ¨IE£¨7, 8, 9, 10, 11£©£¬Mozilla Firefox£¬Safari£¬Google Chrome£¬OperaµÈ¡£Õâ¸ö¹¤¾ßµÄÖ÷Òª¹¦ÄÜ°üÀ¨£º²âÊÔÓëä¯ÀÀÆ÷µÄ¼æÈÝÐÔ¡ª¡ª²âÊÔÄãµÄÓ¦ÓóÌÐò¿´ÊÇ·ñÄܹ»ºÜºÃµÃ¹¤×÷ÔÚ²»Í¬ä¯ÀÀÆ÷ºÍ²Ù×÷ϵͳ֮ÉÏ¡£²âÊÔϵͳ¹¦ÄÜ¡ª¡ª´´½¨»Ø¹é²âÊÔ¼ìÑéÈí¼þ¹¦ÄܺÍÓû§ÐèÇó¡£Ö§³Ö×Ô¶¯Â¼Öƶ¯×÷ºÍ×Ô¶¯Éú³É .Net¡¢Java¡¢PerlµÈ²»Í¬ÓïÑԵIJâÊԽű¾¡£

seleniumÓÃÓÚÅÀ³æ£¬Ö÷ÒªÊÇÓÃÀ´½â¾öjavascriptäÖȾµÄÎÊÌâ

»ù±¾¿ò¼Ü

¿ØÖÆchromeä¯ÀÀÆ÷£¬·ÃÎʰٶȣ¬²¢ËÑË÷¹Ø¼ü´ÊPython£¬»ñÈ¡ËÑË÷½á¹û
# -*- coding: utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support import
expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
import time
browser=webdriver.Chrome()
try:
browser.get("https://www.baidu.com")
input=browser.find_element_by_id("kw")
input.send_keys("Python")
input.send_keys(Keys.ENTER)
wait=WebDriverWait(browser,10)
wait.until(EC.presence_of_element_located
((By.ID,"content_left")))
print(browser.current_url)
print(browser.get_cookies())
print(browser.page_source)
time.sleep(10)
finally:
browser.close()

ÔËÐнá¹ûÈçÏ£º

ÏêϸÓ÷¨ÈçÏ£º

1£ºÉùÃ÷ä¯ÀÀÆ÷¶ÔÏó

# -*- coding: utf-8 -*-
from selenium import webdriver
#ÉùÃ÷¹È¸è¡¢Firefox¡¢SafariµÈä¯ÀÀÆ÷
browser=webdriver.Chrome()
browser=webdriver.Firefox()
browser=webdriver.Safari()
browser=webdriver.Edge()
browser=webdriver.PhantomJS()

2£º·ÃÎÊÒ³Ãæ

#_*_coding: utf-8_*_

from selenium import webdriver
browser=webdriver.Chrome()
browser.get("http://www.taobao.com")
print(browser.page_source)
browser.close()

3£º²éÕÒµ¥¸öÔªËØ

#_*_coding: utf-8_*_

from selenium import webdriver
from selenium.webdriver.common.by import By
browser=webdriver.Chrome()
browser.get("http://www.taobao.com")
input_first=browser.find_element_by_id("q")
input_second=browser.find_element_by_css_selector("#q")
input_third=browser.find_element(By.ID,"q")
print(input_first,input_second,input_first)
browser.close()

4£º²éÕÒ¶à¸öÔªËØ

#_*_coding: utf-8_*_

from selenium import webdriver
from selenium.webdriver.common.by import By
browser=webdriver.Chrome()
browser.get("http://www.taobao.com")
lis=browser.find_element_by_css_selector("li")
lis_c=browser.find_element(By.CSS_SELECTOR,"li")
print(lis,lis_c)
browser.close()

5£ºÔªËصĽ»»¥²Ù×÷

¶Ô»ñÈ¡µ½µÄÔªËص÷Óý»»¥·½·¨

#_*_coding: utf-8_*_
from selenium import webdriver
import time
browser=webdriver.Chrome()
browser.get("https://www.taobao.com")
input=browser.find_element_by_id("q")
input.send_keys("iPhone")
time.sleep(10)
input.clear()
input.send_keys("iPad")
button=browser.find_element_by_class_name("btn-search")
button.click()
time.sleep(10)
browser.close()

6£º½»»¥¶¯×÷

°Ñ¶¯×÷¸½¼Óµ½½»»¥Á´ÖÐ

#_*_coding: utf-8_*_
from selenium import webdriver
from selenium.webdriver import ActionChains
import time
from selenium.webdriver.common.alert import Alert
browser=webdriver.Chrome()
url="http://www.runoob.com/try/try.php?filename=jqueryui-api-droppable"
browser.get(url)
#Çл»µ½Ä¿±êÔªËØËùÔÚµÄframe
browser.switch_to.frame("iframeResult")
#È·¶¨ÍÏקĿ±êµÄÆðµã
source=browser.find_element_by_id("draggable")
#È·¶¨ÍÏקĿ±êµÄÖÕµã
target=browser.find_element_by_id("droppable")
#Ðγɶ¯×÷Á´
actions=ActionChains(browser)
actions.drag_and_drop(source,target)
#Ö´ÐÐ
actions.perform()
'''
1.ÏÈÓÃswitch_to_alert()·½·¨Çл»µ½alertµ¯³ö¿òÉÏ
2.¿ÉÒÔÓÃtext·½·¨»ñÈ¡µ¯³öµÄÎı¾ ÐÅÏ¢
3.accept()µã»÷È·ÈÏ°´Å¥
4.dismiss()Ï൱ÓÚµãÓÒÉϽÇx£¬È¡Ïûµ¯³ö¿ò
'''
t=browser.switch_to_alert()
print(t.text)
t.accept()
time.sleep(10)
browser.close()

7£ºÖ´ÐÐjavascript

ÏÂÃæµÄÀý×ÓÊÇÖ´ÐоÍÊÇ£¬ÍÏק½ø¶ÈÌõµ½µ×£¬²¢µ¯³öÌáʾ¿ò

#_*_coding: utf-8_*_
from selenium import webdriver
browser=webdriver.Chrome()
browser.get("https://www.zhihu.com/explore")
browser.execute_script("window.scrollTo
(0,document.body.scrollHeight)")
browser.execute_script("alert('To Button')")
browser.close()

8:»ñÈ¡ÔªËØÐÅÏ¢

»ñÈ¡ÊôÐÔ

# -*- coding: utf-8 -*-
from selenium import webdriver

browser=webdriver.Chrome()
url="https://www.zhihu.com/explore"
browser.get(url)
logo=browser.find_element_by_id("zh-top-link-logo")
print(logo)
print(logo.get_attribute("class"))
browser.close()

»ñÈ¡Îı¾Öµ

# -*- coding: utf-8 -*-
from selenium import webdriver

browser=webdriver.Chrome()
url="https://www.zhihu.com/explore"
browser.get(url)
logo=browser.find_element_by_id("zh-top-link-logo")
print(logo)
print(logo.text)
browser.close()

»ñÈ¡ID¡¢Î»ÖᢴóСºÍ±êÇ©Ãû

# -*- coding: utf-8 -*-
from selenium import webdriver

browser=webdriver.Chrome()
url="https://www.zhihu.com/explore"
browser.get(url)
logo=browser.find_element_by_id("zh-top-link-logo")
print(logo)
#id
print(logo.id)
#λÖÃ
print(logo.location)
#±êÇ©Ãû
print(logo.tag_name)
#´óС
print(logo.size)
browser.close()

9£ºµÈ´ý

ÒþʽµÈ´ý

µ±Ê¹ÓÃÁËÒþʽµÈ´ýÖ´ÐвâÊÔµÄʱºò£¬Èç¹ûwebdriverûÓÐÔÚDOMÖÐÕÒµ½ÔªËØ£¬½«¼ÌÐøµÈ´ý£¬³¬¹ýÉ趨µÄʱ¼äºóÔòÅ׳öÕÒ²»µ½ÔªËصÄÒì³££¬»»¾ä»°Ëµ£¬µ±²éÕÒÔªËØ»òÔªËز¢Ã»ÓÐÁ¢¼´³öÏÖµÄʱºò£¬ÒþʽµÈ´ý½«µÈ´ýÒ»¶Îʱ¼äÔÙ²éÕÒDOM£¬Ä¬ÈÏʱ¼äΪ0.

# -*- coding: utf-8 -*-
from selenium import webdriver

browser=webdriver.Chrome()
url="https://www.zhihu.com/explore"
browser.get(url)
browser.implicitly_wait(10)
logo=browser.find_element_by_id("zh-top-link-logo")
print(logo)
browser.close()

ÏÔʾµÈ´ý

# -*- coding: utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import
expected_conditions as EC

browser=webdriver.Chrome()
url="https://www.taobao.com"
browser.get(url)
wait=WebDriverWait(browser,10)
input=wait.until(EC.presence_of_element_located
((By.ID,"q")))
button=wait.until(EC.element_to_be_clickable
((By.CSS_SELECTOR,".btn-search")))
print(input,button)
browser.close()

10£ºä¯ÀÀÆ÷µÄÇ°½øºÍºóÍË

# -*- coding: utf-8 -*-
from selenium import webdriver
import time

browser=webdriver.Chrome()
browser.get("https://www.taobao.com")
browser.get("https://www.baidu.com")
browser.get("https://www.python.org")
browser.back()
time.sleep(1)
browser.forward()
browser.close()

11£ºcookiesµÄ´¦Àí

# -*- coding: utf-8 -*-
from selenium import webdriver
import time

browser=webdriver.Chrome()
browser.get("https://www.zhihu.com/explore")
print(browser.get_cookies())
browser.add_cookie({"name":"name","domain"
:"www.zhihu.com","value":"germey"})
print(browser.get_cookies())
browser.delete_all_cookies()
print(browser.get_cookies())
browser.close()

12£ºÑ¡Ï¹ÜÀí

# -*- coding: utf-8 -*-
from selenium import webdriver
import time

browser=webdriver.Chrome()
browser.get("https://www.zhihu.com/explore")
browser.execute_script("window.open()")
print(browser.window_handles)
browser.switch_to_window(browser.window_handles[1])
browser.get("https://www.taobao.com")
time.sleep(1)
browser.switch_to_window(browser.window_handles[0])
browser.get("https://python.org")
browser.close()

13£ºÒì³£´¦Àí

# -*- coding: utf-8 -*-
from selenium import webdriver
from selenium.common.exceptions import TimeoutException,NoSuchElementException

browser=webdriver.Chrome()
try:
browser.get("https://www.zhihu.com/explore")
except TimeoutException:
print("Time out")
try:
browser.find_element_by_id("hello")
except NoSuchElementException:
print("No Element")
finally:
browser.close()
   
2489 ´Îä¯ÀÀ       17
Ïà¹ØÎÄÕÂ

΢·þÎñ²âÊÔÖ®µ¥Ôª²âÊÔ
һƪͼÎÄ´øÄãÁ˽â°×ºÐ²âÊÔÓÃÀýÉè¼Æ·½·¨
È«ÃæµÄÖÊÁ¿±£ÕÏÌåϵ֮»Ø¹é²âÊÔ²ßÂÔ
È˹¤ÖÇÄÜ×Ô¶¯»¯²âÊÔ̽Ë÷
Ïà¹ØÎĵµ

×Ô¶¯»¯½Ó¿Ú²âÊÔʵ¼ù֮·
jenkins³ÖÐø¼¯³É²âÊÔ
ÐÔÄܲâÊÔÕï¶Ï·ÖÎöÓëÓÅ»¯
ÐÔÄܲâÊÔʵÀý
Ïà¹Ø¿Î³Ì

³ÖÐø¼¯³É²âÊÔ×î¼Ñʵ¼ù
×Ô¶¯»¯²âÊÔÌåϵ½¨ÉèÓë×î¼Ñʵ¼ù
²âÊԼܹ¹µÄ¹¹½¨ÓëÓ¦ÓÃʵ¼ù
DevOpsʱ´úµÄ²âÊÔ¼¼ÊõÓë×î¼Ñʵ¼ù