selenium的查找元素
一、关于不同浏览器的打开方式
1、谷歌浏览器
from selenium import webdriver browser = webdriver.Chrome()2、火狐浏览器
from selenium import webdriver browser = webdriver.Firefox()3、
IE浏览器from selenium import webdriver browser = webdriver.Edge()4、
Safari浏览器from selenium import webdriver browser = webdriver.Safari()5、无界面
PhantomJS中使用from selenium import webdriver browser = webdriver.PhantomJS()
二、关于打开与关闭
1、打开浏览器
from selenium import webdriver browser = webdriver.Chrome() browser.get('https://www.baidu.com')2、关闭
browser.close():关闭当前页面。 browser.quit():退出整个浏览器。
三、查找元素
1、
find_element_by_id()根据id来查找某个元素browser.find_element_by_id('dom')2、
find_element_by_class_name()根据类名来查询某元素browser.find_element_by_class_name('dom')3、
find_element_by_name()根据name属性的来查找元素(常见input输入框上)browser.find_element_by_name('username')4、
find_element_by_tag_name()根据标签名来获取browser.find_element_by_name('div')5、
find_element_by_xpath()可以使用xpath语法来查找browser.find_element_by_xpath('//div[@class="div1"]')6、
find_element_by_css_selector()根据css来获取browser.find_element_by_css_selector('#div1') # 查找id="div1"的元素7、多节点的获取
要注意,
find_element是获取第一个满足条件的元素(需要注意)。find_elements是获取所有满足条件的元素。8、推介使用
find_element_by_xpath或者find_element_by_css_selector9、使用
find_element来查找节点from selenium.webdriver.common.by import By browser.find_element(By.CSS_SELECTOR, '#div1') # 根据id查找 browser.find_element(By.ID,'div1') # 根据id查找 browser.find_element(By.CLASS_NAME,'su') # 根据class查找 browser.find_element(By.NAME,'email') # 根据name查找 browser.find_element(By.TAG_NAME,'div') browser.find_element(By.XPATH,'//div')
四、使用selenium获取京东购物商城左侧导航
1、需要爬取的数据

2、使用
selenium抓取数据import time from selenium import webdriver browser = webdriver.Chrome() browser.get('https://www.jd.com/') lis_dom = browser.find_elements_by_xpath('//ul[@class="JS_navCtn cate_menu"]/li[@class="cate_menu_item"]') print(lis_dom) print(type(lis_dom)) for item in lis_dom: # 可以继续链式的查找,获取文本信息 print(item.find_element_by_xpath('./a[@class="cate_menu_lk"]').text) time.sleep(4) browser.close()