python+selenium编程之八大元素定位

本文详细介绍使用Selenium对网页元素进行定位的各种方法,包括通过id、name、class、link、partial_link、tag_name、css_selector及xpath进行精确或模糊匹配,适用于自动化测试和网页爬虫开发。
摘要由CSDN通过智能技术生成

1、通过id对百度输入框进行定位

from selenium import webdriver
from time import sleep
driver=webdriver.Chrome()
driver.get("http://baidu.com")
sleep(1)
driver.maximize_window()

#driver.find_element_by_id("kw").send_keys("python")
driver.find_elements_by_id("kw")[0].send_keys("java")
driver.find_element_by_id("su").click()
sleep(5)
driver.quit()

2、通过name对百度输入框进行定位

from selenium import webdriver
from time import sleep
driver=webdriver.Chrome()
driver.get("http://baidu.com")
sleep(1)
driver.maximize_window()

#driver.find_element_by_name("wd").send_keys("python_name")
driver.find_elements_by_name("wd")[0].send_keys("java_name")
driver.find_element_by_id("su").click()
sleep(5)
driver.quit()

3、通过class对百度输入框进行定位

from selenium import webdriver
from time import sleep
driver=webdriver.Chrome()
driver.get("http://baidu.com")
sleep(1)
driver.maximize_window()

#driver.find_element_by_class_name("s_ipt").send_keys("python_classname")
driver.find_elements_by_class_name("s_ipt")[0].send_keys("java_classname")
driver.find_element_by_class_name("s_btn").click()
sleep(5)
driver.quit()

 4、通过link对百度页面中新闻链接进行定位

from selenium import webdriver
from time import sleep
driver=webdriver.Chrome()
driver.get("http://baidu.com")
sleep(1)
driver.maximize_window()

#driver.find_element_by_link_text("新闻").click()
driver.find_elements_by_link_text("新闻")[0].click()
sleep(5)
driver.quit()

  5、通过partial_link对百度页面中的新闻链接进行定位

from selenium import webdriver
from time import sleep
driver=webdriver.Chrome()
driver.get("http://baidu.com")
sleep(1)
driver.maximize_window()

#driver.find_element_by_partial_link_text("新").click()
driver.find_elements_by_partial_link_text("闻")[0].click()#部分link名称
sleep(5)
driver.quit()

   6、通过tag_name对百度输入框进行定位

from selenium import webdriver
from time import sleep
driver=webdriver.Chrome()
driver.get("http://baidu.com")
sleep(1)
driver.maximize_window()


driver.find_elements_by_tag_name("input")[7].send_keys("java_tag_name")#7表示第8个input,下标从0开始
driver.find_element_by_class_name("s_btn").click()
sleep(5)
driver.quit()

7、通过css_selector对百度输入框进行定位(#kw、#su可以通过元素所在位置右击鼠标->Copy->Copy selector得到)

from selenium import webdriver
from time import sleep
driver=webdriver.Chrome()
driver.get("http://baidu.com")
sleep(1)
driver.maximize_window()

#driver.find_element_by_css_selector("s_ipt").send_keys("python_classname")
driver.find_elements_by_css_selector("#kw")[0].send_keys("java_classname")
driver.find_element_by_css_selector("#su").click()
sleep(5)
driver.quit()

8、通过xpath对百度输入框进行定位 (//*[@id='kw'、//*[@id='su'可以通过元素所在位置右击鼠标->Copy->Copy XPathr得到)

from selenium import webdriver
from time import sleep
driver=webdriver.Chrome()
driver.get("http://baidu.com")
sleep(1)
driver.maximize_window()

#driver.find_element_by_class_name("s_ipt").send_keys("python_xpath")
driver.find_elements_by_xpath("//*[@id='kw']")[0].send_keys("java_xpath")
driver.find_element_by_xpath("//*[@id='su']").click()
sleep(5)
driver.quit()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值