Selenium API

Selenium API基础

元素的定位
Selenium API

1.元素的定位(id)

from selenium import webdriver

driver = webdriver.Firefox()

driver.get("https://www.baidu.com/")
# 定位元素id
skr = driver.find_element_by_id("kw")
# 输入内容
skr.send_keys("12306")

Selenium API

2.元素的定位(name)

from selenium import webdriver

driver = webdriver.Firefox()

driver.get("https://www.baidu.com/")
# 元素的定位name
name = driver.find_element_by_name("wd")
# 输入内容
name.send_keys("123456")

Selenium API

3.元素的定位(class name)

from selenium import webdriver

driver = webdriver.Firefox()

driver.get("https://www.baidu.com/")
# 元素的定位class name
className = driver.find_element_by_class_name("s_ipt")
className.send_keys("123456")

Selenium API

4.元素的定位(tag name)

from selenium import webdriver

driver = webdriver.Firefox()

# driver.get("https://www.baidu.com/")
driver.get("https://cn.bing.com/")

# 元素的定位tag name
tagName = driver.find_element_by_tag_name("input")
tagName.send_keys("tagName")

Selenium API

5.元素的定位(link text)

from selenium import webdriver

driver = webdriver.Firefox()

driver.get("https://www.baidu.com/")
# 元素的定位 link text
linkText = driver.find_element_by_link_text("hao123")
linkText.click()

Selenium API

6.元素的定位(partial link text)

from selenium import webdriver

driver = webdriver.Firefox()

driver.get("https://www.baidu.com/")
# 元素的定位 partial link text
partialLinkText = driver.find_element_by_partial_link_text("hao")
partialLinkText.click()

Selenium API

7.元素的定位(xpath)

from selenium import webdriver

driver = webdriver.Firefox()

driver.get("https://www.baidu.com/")
# 元素的定位xpath
xpath = driver.find_element_by_xpath(".//*[@id='kw']")
xpath.send_keys("zwz")

Selenium API

8.元素的定位(css selector)

from selenium import webdriver

driver = webdriver.Firefox()

driver.get("https://www.baidu.com/")
# 元素的定位css selector
cssSelector = driver.find_element_by_css_selector("#kw")
cssSelector.send_keys("cssSelector")

Selenium API

9.点击和输入 清空 等待

from selenium import webdriver

driver = webdriver.Firefox()

driver.get("https://www.baidu.com/")
ids = driver.find_element_by_id("kw")
# 点击输入
ids.send_keys("123")
# 等待
time.sleep(2)
# 清空
ids.clear()
# 等待
time.sleep(2)
# 点击输入内容
ids.send_keys("456")
# # 点击
su = driver.find_element_by_id("su")
su.click()

Selenium API

Selenium API高级

1.多标签之间的切换

from selenium import webdriver

driver = webdriver.Firefox()
driver.get("http://bj.58.com")

# 定位租房元素
zf = driver.find_element_by_css_selector("span.contentAdTilRt:nth-child(2) > a:nth-child(1)")
zf.click()
# 所有窗口的句柄
handles = driver.window_handles
# 跳转句柄
driver.switch_to.window(handles[1])
# # 选择朝阳    dl.secitem:nth-child(1) > dd:nth-child(1) > a:nth-child(2)
cy = driver.find_element_by_css_selector(" dl.secitem:nth-child(1) > dd:nth-child(1) > a:nth-child(2)")
cy.click()


alpk = driver.find_element_by_css_selector(".arealist > a:nth-child(3)")
alpk.click()

moneyOne = driver.find_element_by_css_selector("span.text:nth-child(1) > input:nth-child(1)")
moneyOne.send_keys("1000")
moneyTwo = driver.find_element_by_css_selector("span.text:nth-child(3) > input:nth-child(1)")
moneyTwo.send_keys("2000")
sx = driver.find_element_by_css_selector(".shaixuanbtn > a:nth-child(1)")
sx.click()

Selenium API

上一篇:说说伪类和伪元素


下一篇:纯CSS实现横向瀑布流代码记录