驱动浏览器,访问百度网址,并进行一个网址最大化
from selenium import webdriver
import time
driver=webdriver.Chrome()
driver.get('http://www.baidu.com')
driver.maximize_window()
CSS表达式定位
选择输入框右键点击检查 查看右下角代码的css样式名
如图 #head_wrapper #kw
定位元素格式:element1=driver.find_element_by_css_selector('#kw')
elements=driver.find_elements_by_css_selector('.title-content-title')
element=driver.find_elements_by_css_selector('.title-content-title')[3]
当使用id名时,需要在前面加#,而class加.
因为class可能重复,所以也是需要使用循环结构打印,或者用[]表示出来打印第几个元素
element1=driver.find_element_by_css_selector('#kw')
element1.send_keys('光遇')
element2=driver.find_element_by_css_selector('#su')
element2.click()
elements=driver.find_elements_by_css_selector('.title-content-title')
for b in elements:
print(b.text)
element=driver.find_elements_by_css_selector('.title-content-title')[3]
element.click()
CSS标签定位
同理之前tagname定位 span 存在多个 循环打印
标签定位元素格式:elements=driver.find_elements_by_css_selector('标签名')
elements=driver.find_elements_by_css_selector('span')
for b in elements:
print(b.text)
CSS层级定位
通过找后代元素 元素 右下侧css
层级定位格式:element=driver.find_element_by_css_selector('父级元素 本身元素')
id名加# class加.
element1=driver.find_element_by_css_selector('#head_wrapper #kw')
element1.send_keys('光遇')
element2=driver.find_element_by_css_selector('#head_wrapper .s_btn')
element2.click()
css标签加属性
格式:driver.find_element_by_css_elsctor('标签 [属性]')
属性:id="kw"
css标签加属性 <input id ></input>
driver.find_element_by_css_selector('input[id="kw"]').send_keys('光遇')