元素定位方式 1.id定位 input = driver.find_element_by_id('kw') 根据id定位“百度一下”按钮 btn = driver.find_element_by_id('su') 单击“百度一下” btn.click() 2.name定位 input = driver.find_element_by_name('wd') 3.class定位--- 一般用于定位多个元素 input = driver.find_element_by_class_name('s_ipt') 写入文本 input.send_keys('货拉拉') 4.tag_name元素名定位(标签)--- 一般用于定位多个元素 inputs = driver.find_element_by_tag_name('input') print(inputs)返回的是一个列表,如果没有合适的元素,则返回一个空列表 5.link_text定位---根据超链接元素的文本进行定位,必须完全匹配 driver.find_element_by_link_text('新闻').click() 6.partial_link_text定位--- 根据超链接元素的文本进行定位,部分匹配 driver.find_element_by_partial_link_text('hao').click() 7.xpath定位--- 根据元素的路径进行定位,包括绝对路径和相对路径 绝对路径:以/开始 driver.find_element_by_xpath('/ html / body / div[1] / div[1] / div[5] / div / div / form / span[1] / input').send_keys('货拉拉') 相对路径:以//开始(@表示属性,*通配符) driver.find_element_by_xpath('//*[@id="kw"]').send_keys('货拉拉') driver.find_element_by_xpath('//input[@id="kw"]').send_keys('货拉拉') driver.find_element_by_xpath('//*[@id="su"]').click() driver.find_element_by_xpath('//form[@id="form"]/span[1]/input').send_keys('货拉拉') driver.find_element_by_xpath('//form[@id="form"]/span[2]').click() 以多个元素定位 driver.find_element_by_xpath('//input[@id="kw" and @autocomplete="off"]').send_keys('货拉拉') 文本定位元素 文本是位于开始标签和结束标签之间的文字,使用text()获取文本 精确匹配 driver.find_element_by_xpath('//a[text()="贴吧"]').click() driver.find_elemenr_by_xpath('//span[text()="设置"]').click() 模糊匹配 driver.find_element_by_xpath('//*[contains(text),"度热榜"]').click() 属性定位 driver.find_element_by_id('kw').send_keys('货拉拉') driver.find_element_by_xpath('//input[contains(@value,"一下")]').click() 8.CSS定位--- 根据元素的样式进行定位(层叠样式表) driver.find_element_by_css_selector('#kw').send_keys('货拉拉') from selenium import webdriver from time import sleep try: except Exception as e: print(e) finally: sleep() driver.close()关闭当前浏览器 driver.quit()退出浏览器
|