Selenium+python元素定位-Chrome定位及demo实例

Chrome进行百度搜索为例,先打开百度网页

1.打开Chrome

2.打开“开发者工具”

3.输入地址“https://baidu.com”

4.点击开发者工具栏中左上角的箭头按钮

5.将鼠标点击在百度搜索输入框中

6.对应右边的代码就是输入框的属性


1.元素定位(id):find_ element_by_id()

1.由上文确定了输入框的属性的id为“kw”,可以通过id属性定位到这个元素。
2.定位后,用send_keys()方法输入文字

demo:
import time
from selenium import webdriver

driver = webdriver.Chrome()
time.sleep(2)
driver.get("https://baidu.com")
time.sleep(3)

# 通过id定位搜索框,并输入“selenium”
	driver.find_element_by_id("kw").send_keys("selenium")
	time.sleep(5)

	driver.quit()

2.元素定位(name): find_ element_ by_ name()

demo:
import time
from selenium import webdriver

driver = webdriver.Chrome()
time.sleep(3)
driver.get("https://baidu.com")
time.sleep(3)

# 通过name定位搜索框,并输入“selenium”
driver.find_element_ by_ name("wd").send_keys("selenium")
time.sleep(5)

driver.quit()

注意:由于name属性不是唯一的,这种定位可能报错。

3.元素定位(class): find_ element_ by_ class_name():

demo:
import time
from selenium import webdriver

driver = webdriver.Chrome()
time.sleep(3)
driver.get("https://baidu.com")
time.sleep(3)

# 通过class定位搜索框,并输入“selenium”
driver.find_element_by_class_name("s_ipt").send_keys("selenium")
time.sleep(5)

driver.quit()

4.元素定位(标签):find_ element_ by_ tag_ name()

  • 注意:一个页面的标签属性也不是唯一,这种定位不准确,容易出现错误,所以一般不用标签进行定位。

5.元素定位(超链接按钮):find_ element_ by_ link_ text()

1.定位百度页面上“新闻”

demo:
import time
from selenium import webdriver

driver = webdriver.Chrome()
time.sleep(3)
driver.get("https://baidu.com")
time.sleep(3)

# 通过超链接按钮文字定位,并点击
driver.find_element_by_link_text("新闻").click()
time.sleep(5)

driver.quit()

6.元素定位(超链接文字):find_element_by_partial_link_text()

1.有时候一个超链接它的字符串可能比较长,如果输入全称的话,会显示很长,这时候可以用一模糊匹配方式,截取其中一部分字符串就可以了

2.如“hao123”,只需输入“ao123”也可以定位到

demo:
import time
from selenium import webdriver

driver = webdriver.Chrome()
time.sleep(3)
driver.get("https://baidu.com")
time.sleep(3)

# 通过超链接文字定位,并点击
driver.find_element_by_partial_link_text("ao123").click()
time.sleep(5)

driver.quit()

7.元素定位(xpath):find_element_by_xpath()

以上都是通过元素的某个属性来进行定位的,如果一个元素没有这些属性,那么怎么定位呢
2.这里用到一种路径语言:xpath。

  • xpath定位的步骤

1.打开Chrome

2.打开“开发者工具”

3.输入地址“https://baidu.com”

4.点击开发者工具栏中左上角的箭头按钮

5.将鼠标点击在百度搜索输入框中

6.对应右边的代码就是输入框的属性

7.右键点击出现的属性代码,出现Copy–Copy XPath

demo:
import time
from selenium import webdriver

driver = webdriver.Chrome()
time.sleep(3)
driver.get("https://baidu.com")
time.sleep(3)

# 通过XPath定位,并输入“selenium”
driver.find_element_by_xpath('//*[@id="kw"]').send_keys("selenium")
time.sleep(5)

driver.quit()

你可能感兴趣的:(selenium,selenium,python自动化,元素定位)