我们可以通过find_element关键字来定位元素,把用到的locator和value以参数的方式传递进去。
传递locator和value的方式有两种:一种是直接传递,另一种是先引入By的包,然后借助By来传递。
1、直接传递
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome()
driver.get('url')
# 直接传递locate type的方式只支持4种,id、name、xpath、css
driver.find_element('id', 'myid').send_keys('id') # 支持id
driver.find_element('name', 'myname').send_keys('name') # 支持name
driver.find_element('xpath','//*[@id="myid"]').send_keys('xpath') # 支持xpath
driver.find_element('css','#myid').send_keys('css') # 支持css
# driver.find_element('tagname', 'input').send_keys('input') # 不支持
sleep(3)
driver.quit()
2、借助By来传递
from selenium import webdriver
from selenium.webdriver.common.by import By
from time import sleep
driver = webdriver.Chrome()
driver.get('url')
# 通过引入common.by的包,可以完美支持前面讲过的八种方法
# driver.find_element(By.ID,'myid').send_keys('id') # 支持id
# driver.find_element(By.NAME, 'myname').send_keys('name') # 支持name
# driver.find_element(By.XPATH,'//*[@id="myid"]').send_keys('xpath') # 支持xpath
driver.find_element(By.TAG_NAME,'input').send_keys('tag name') # 支持tag name
sleep(3)
driver.quit()