"""
selenium八种元素定位方法和js定位
find_element和find_elements的区别: find_element是精准定位 find_elements返回一个列表,需要去遍历获取值
"""
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
# find_element和find_elements的区别:find_elements返回一个列表
# 1,id定位
# driver.find_element_by_id("kw").send_keys("一人之下")
# 2,name定位
# driver.find_element_by_name("wd").send_keys("一人之下")
# 3,class定位
# driver.find_element_by_class_name("s_ipt").send_keys("一人之下")
# 4,link定位-->精准定位
# driver.find_element_by_link_text("hao123").click()
# 5,partial_link定位-->模糊定位
# driver.find_element_by_partial_link_text("o123").click()
# 6,tag_name定位-->标签名定位
# tag_name = driver.find_elements_by_tag_name("input") # 找到页面上所有标签名为input的标签,返回一个列表
# for i in tag_name:
# if i.get_attribute("id") == "kw": #get_attribute("id")获取属性为id的值
# i.send_keys("一人之下")
# 7,css选择器
# driver.find_element_by_css_selector("#kw").send_keys("一人之下") #通过id选择器定位,前面加#
# driver.find_element_by_css_selector(".s_ipt").send_keys("一人之下") #通过class选择器定位,前面加.
# driver.find_element_by_css_selector("[id=kw]").send_keys("一人之下")
# driver.find_element_by_css_selector("[name=wd]").send_keys("一人之下")
# driver.find_element_by_css_selector("[class=s_ipt]").send_keys("一人之下")
# driver.find_element_by_css_selector("[id=kw][name=wd]").send_keys("一人之下") #组合定位
# driver.find_element_by_css_selector("span>input").send_keys("一人之下") #根据上级定位
# driver.find_element_by_css_selector("form>span>input").send_keys("一人之下") #根据上上级定位
# 8,xpath定位 //2个斜杠表示相对路径 *表示任意标签
# driver.find_element_by_xpath('//*[@id="kw"]').send_keys("一人之下")
# driver.find_element_by_xpath('//*[@name="wd"]').send_keys("一人之下")
# driver.find_element_by_xpath('//*[@class="s_ipt"]').send_keys("一人之下")
# driver.find_element_by_xpath('//input[@id="kw"]').send_keys("一人之下") #上级定位
# driver.find_element_by_xpath('//*[@id="kw" and @name="wd"]').send_keys("一人之下") #组合定位
# driver.find_element_by_xpath('//*[@id="form"]/span[1]/input[1]').send_keys("一人之下")#上上级定位
# JavaScript定位-->js定位 通过execute_script()方法执行
js = "document.getElementById('kw').value='一人之下'"
driver.execute_script(js)
time.sleep(2)
driver.close()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。