定位方式: 前提:from selenium import webdriver #从selenium包导入webdirver 1. find_element_by_id() #网页便签有id属性的 2. find_element_by_name() #网页标签有name属性值的 3. find_element_by_class_name().click() #按照class属性值定位,但是属性值不能出现空格(class当值有子类) 不足:唯一性不准确,class有子类不适合 一:bs.find_element_by_css_selector("[class='mnav c-font-normal c-color-t']").click() #用此方法可打开对应界面 二:Bs.find_element_by_xpath(“//标签[@class=’属性值’]”) #用此方法可打开对应界面 4. find_element_by_link_text(‘文字内容’).click() #按照<a>标签的文字内容(等于匹配)定位 5. find_element_by_partial_link_text("地图").click() #按照<a>标签的文字内容(包含匹配)定位 6. find_element_by_tag_name(‘标签名’) #页面中仅用到一次的标签 find_element_by_tag_name(‘标签名’) 比如定位input标签,找到随机使用某标签的一批元素 BY方法: 前提:from selenium.webdriver.common.by import By #从selenium包导入By 格式:from_element(By.xx,’’) sb.find_element(By.NAME,'wd').send_keys('白敬亭百度百科') Xpath Xpath_element_by_xpath(“//标签[@id=’属性值’]”) #替代id Xpath_element_by_xpath(“//标签[@name=’属性值’]”) #替代name Xpath_element_by_xpath(“//标签[@class=’属性值’]”) #替代class 可以加空格 Xpath_element_by_xpath(“//a[text()=’文本值’]”) #替代文字 Xpath_element_by_xpath(“//a[contains(text(),’文本值’)]”) #替代包含文字
|