1. 程式人生 > >selenium模組(三):三種選擇器(id、css、xpath)

selenium模組(三):三種選擇器(id、css、xpath)

三種查詢元素方式 :id、css、xpath
最常用xpath,css更靈活。

from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By 
#按照什麼方式查(By.ID,By.CSS_SELECTOR)
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()

browser.get('https://www.baidu.com')

#以下三種方式達到的都是同一種效果:查詢id為kw的標籤

input_tag1=browser.find_element(By.ID,'kw') 
#等同於:input_tag1=browser.find_element_by_id('kw')

input_tag2=browser.find_element(By.CSS_SELECTOR,'#kw') 
#等同於:input_tag2=browser.find_element_by_css_selector('#kw')

input_tag3=browser.find_element(By.XPATH,'//*[@id="kw"]') 
#等同於:input_tag3=browser.find_element_by_xpath('//*[@id="kw"]')

#注意:browser.find_elements系列與browser.find_element的區別就是,前者是查詢多個,後者是隻找第一個

#找到第一個div標籤
div1=browser.find_element(By.CSS_SELECTOR,'div') 

#找到所有的div標籤,放到列表裡
div2=browser.find_elements(By.CSS_SELECTOR,'div') 

browser.close()

tag_name等

from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By #按照什麼方式查詢,By.ID,By.CSS_SELECTOR
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()

browser.get('https://www.amazon.cn/')

wait=WebDriverWait(browser,10)
wait.until(EC.presence_of_element_located((By.ID,'cc-lm-tcgShowImgContainer')))

tag=browser.find_element(By.CSS_SELECTOR,'#cc-lm-tcgShowImgContainer img')

#獲取標籤屬性,
print(tag.get_attribute('src'))


#獲取標籤ID,位置,名稱,大小(瞭解)
print(tag.id)
print(tag.location)
print(tag.tag_name)
print(tag.size)


browser.close()