selenium的基礎用法

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

browser = webdriver.Chrome()

try:
    browser.get('http://www.baidu.com')
    
    input = browser.find_element_by_id('kw')
    input.send_keys('宋曲')
    input.send_keys(Keys.ENTER)

    wait = WebDriverWait(browser,10)
    wait.until(EC.presence_of_element_located((By.ID,'content_left')))
    print(browser.current_url)#打印當前URL
    print(browser.get_cookie)#打印cookie
    print(browser.page_source)#打印網頁原代碼
finally:
    browser.close()

查找單個元素

browser.get('https://www.taobao.com')
input_first = browser.find_element_by_id('q')
input_sencond = browser.find_element_by_css_selector('#q')
input_third = browser.find_element_by_xpath('//*[@id="q"]')
input_fourth = browser.find_element(By.ID,'q')
print(input_first)
print('\b')
print(input_sencond)
print('\b')
print(input_third)
print('\b')
print(input_fourth)
browser.close()

四種打印方式的打印結果

<selenium.webdriver.remote.webelement.WebElement (session="8dd0cc815d43e8eafa8c1a43b9ff18ad", element="d8650b90-b96b-4419-9458-0644d32bf1b3")>

<selenium.webdriver.remote.webelement.WebElement (session="8dd0cc815d43e8eafa8c1a43b9ff18ad", element="d8650b90-b96b-4419-9458-0644d32bf1b3")>

<selenium.webdriver.remote.webelement.WebElement (session="8dd0cc815d43e8eafa8c1a43b9ff18ad", element="d8650b90-b96b-4419-9458-0644d32bf1b3")>

<selenium.webdriver.remote.webelement.WebElement (session="d85e1a66a845071470eded9b15b97099", element="81c68c0a-1f79-4908-b047-253496bd590e")>

查找多個元素,不知道爲什麼我只返回了一個元素

li0 = browser.find_element_by_css_selector('.service-bd li')
li1 = browser.find_element(By.CSS_SELECTOR,'.service-bd li')
print(li0)
print(li1)
<selenium.webdriver.remote.webelement.WebElement (session="06546ea2d4941fe243cbb1298b3be55f", element="b3de6057-c61f-416e-b897-44bf158a9477")>
<selenium.webdriver.remote.webelement.WebElement (session="06546ea2d4941fe243cbb1298b3be55f", element="b3de6057-c61f-416e-b897-44bf158a9477")>

元素交互操作

input = browser.find_element_by_id('q')

input.send_keys('iphone')
time.sleep(1)
input.clear()
input.send_keys('ipad')
#input.send_keys(Keys.ENTER)
button = browser.find_element_by_class_name('btn-search.tb-bg')
button.click()"""淘寶需要登錄才能搜索,所以這個時候需要登錄一下才行"""

執行JavaScript

browser.get('https://www.zhihu.com/explore')
browser.execute_script('window.scrollTo(0,document.bodyscrollHeight)')
browser.execute_script('alert("To Bottom")')"""但沒有滑到底部"""

使用cookie登錄才能搜索

browser.get('https://www.taobao.com')
#先獲取cookie
#time.sleep(35)
#print(browser.get_cookies())

cookies = []

for i in cookies:  
    if 'expiry' in i:
        del i['expiry']
    print(i) 
    browser.add_cookie(i)

input = browser.find_element_by_id('q')

#input.send_keys('iphone')
#time.sleep(1)
#input.clear()
input.send_keys('大米')
#input.send_keys(Keys.ENTER)
button = browser.find_element_by_class_name('btn-search.tb-bg')
button.click()  
input1 = browser.find_element_by_css_selector('.row.row-2.title a')
print(input1.text)
print(input1.id)
print(input1.location)
print(input1.tag_name)
print(input1.size)
發佈了109 篇原創文章 · 獲贊 31 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章