搜索按钮(绿色框内容)定位
1、css元素定位:
1)通过class属性(空格改成.):find_element_by_css_selector(".类属性值") class选择器选择class="a"的所有元素,点号(.)表示通过class属性定位元素
driver.find_element_by_css_selector(".bg.s_btn").click()
2)通过id:find_element_by_css_selector("#id值") id选择器选择id="a"的所有元素,#号表示通过id属性定位元素
driver.find_element_by_css_selector("#su").click()
3)通过value:find_element_by_css_selector("[属性名=属性值]")
driver.find_element_by_css_selector("[ value='百度一下']").submit()
4)通过组合定位:
driver.find_element_by_css_selector("form#form>span>input#su").click()
driver.find_element_by_css_selector("span>input#su").click()
2、xpath定位:
find_element_by_xpath("//标签[@属性名=属性值]") 属性名可以是id、name、class或者其他可唯一标识该标签的元素
1)通过id属性:
driver.find_element_by_xpath("//*[@id='su']").click()--->根据右键copy--获取xpath
2)通过class属性:
driver.find_element_by_xpath(".//input[@class='bg s_btn']").click()
3)通过层级:
driver.find_element_by_xpath("//span[@class='bg s_btn_wr']/input").click() (*可以替代属性)
3、目前通过BY定位,基于上面两种方式,By定位元素是统一调用find_element()的方法,它有两个参数,第一个是定位的类型,由By提供;第二个参数是定位的具体方式。
例如:
from selenium .webdriver.commom.by import By---先导入by类
driver.find_element(By.ID,"kw").send_keys("dsfads")