1、通过id选择元素
写法1:
element = driver.find_element_by_id("kw")
写法2:
from selenium.webdriver.common.by import By
element = driver.find_element(by=By.ID, value="kw")
element = driver.find_element(By.ID, " kw ")
Tips: by=By.ID表示以id的方式定位web元素,下面的例子有类似的写法以此类推。
2、通过name选择元素
写法1:
cheese = driver.find_element_by_name("cheese")
写法2:
from selenium.webdriver.common.by import By
element = driver.find_element(By.NAME, "cheese")
3、通过class选择元素
写法1:
cheeses = driver.find_elements_by_class_name("cheese")
Tips:注意,这里返回的是一个包含web元素的列表,下同。
写法2:
from selenium.webdriver.common.by import By
elements = driver.find_elements(By.CLASS_NAME, "cheese")
4、通过tag选择元素
写法1:
如果iframe这个tag在本html中是唯一的,可以根据iframe这个tag名来找到该元素。
frame = driver.find_element_by_tag_name("iframe")
写法2:
from selenium.webdriver.common.by import By
frame = driver.find_element(By.TAG_NAME, "iframe")
注意,通过title标签名获取title元素,打印的文本值为空:
ele2=driver.find_element_by_tag_name('title')
print(ele2.text)
debug看获取到的元素属性:
原因: text显示的是网页中可见的内容。 title不在网页中,所以显示不出来。 title是一个特殊的元素,标签内的文本表示页面的标题,可以通过driver.title属性获取页面标题。
5、通过超链接文本选择元素
写法1:
ele = driver.find_element_by_link_text("转到百度")
写法2:
from selenium.webdriver.common.by import By
element = driver.find_element(By.LINK_TEXT, "转到百度")



