一、webdriver基本命令
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
driver.get(r"C:\desktop\test.html")
print(driver.title)
print(driver.current_url)
二、标签导航
label = driver.find_element_by_id('kw')
label1 = driver.find_element_by_name('wd')
label2 = driver.find_element_by_class_name('s_ipt')
label3 = driver.find_element_by_tag_name('input')
label4 = driver.find_element_by_link_text('a标签中的内容 准确定位')
label5 = driver.find_element_by_partial_link_text('a标签中的内容 模糊定位')
label6 = driver.find_element_by_xpath('放入 copy 标签中的常css路径')
label7 = driver.find_element_by_css_selector("input=[id='id_name'/name='name_name'/....../]")
label = driver.find_element_by_xpath('html/body/p/input')
label = driver.find_element_by_xpath('html/body/p/input[1]')
label = driver.find_element_by_xpath('//input')
label = driver.find_element_by_xpath('//input[2]')
label = driver.find_element_by_xpath('//form//input')
label = driver.find_element_by_xpath('//form//input[2]')
label = driver.find_element_by_xpath("//input[@id]")
label = driver.find_element_by_xpath("//input[@id='1']")
label = driver.find_element_by_xpath("//input[@name='xiahua']")
label = driver.find_element_by_xpath("//*[countains(input)=1]")
label = driver.find_element_by_xpath("//*[countains(input)=2]")
label = driver.find_element_by_xpath("//*[local-name()='input']")
label = driver.find_element_by_xpath("//*input")
label = driver.find_element_by_xpath("//*[local-name(),'i']")
label = driver.find_element_by_xpath("//*[local-name(),'i']")
label = driver.find_element_by_xpath("//*[countains(local-name(),'i')] [last()]")
label = driver.find_element_by_xpath("//*[strint-length(local-name()=3)] [last()]")
三、模拟用户操作
type = label00.get_attribute('type')
tag_name = label00.tag_name()
print(label00.id)label00.click()
label00.send_keys("模拟搜索内容")
label00.clear()
from selenium.webdriver.common.action_chains import ActionChains
label00 = driver.find_element_by_link_text("点我 悬浮 显示其他 a标签")
ActionChains(driver).move_to_element(label00).perform()
label00.double_click()
label00.drag_and_drop()
label00.move_to_element()
label00.click_and_hold()
from selenium.webdriver.common.keys import Keys
label01.send_keys("input输入的内容")label01.send_keys(Keys.BACK_SPACE)
label01.send_keys(Keys.CONTROL,'a')
label01.send_keys(Keys.CONTROL,'v')
label01.send_keys(Keys.CONTROL,'c')
label01.send_keys(Keys.CONTROL,'x')
label01.send_keys(Keys.ENTER)
四、控制多窗口
from selenium import webdriver
chrome = webdriver.Chrome()chrome.get("https://www.baidu.com")
chrome.find_element_by_id("kw").send_keys("红花")
chrome.find_element_by_id("su").click()
chrome.find_element_by_partial_link_text("百度百科").click()
chrome.find_element_by_partial_link_text("中药").click()
print(chrome.window_handles)
chrome.switch_to_window(chrome.window_handles[1])
print(chrome.current_url)
五、自动登录
from selenium import webdriver
import time
def automatic_login(name,pwd,url):
chrome = webdriver.Chrome()
chrome.get(url)
time.sleep(2)
chrome.maximize_window()
time.sleep(5)
chrome.find_element_by_link_text("登录").click()
time.sleep(5)
name_label = chrome.find_element_by_id("id_account_l")
name_label.clear()
name_label.send_keys(name)
pwd_label = chrome.find_element_by_id("id_password_l")
pwd_label.clear()
pwd_label.send_keys(pwd)
time.sleep(5)
login_label = chrome.find_element_by_id("login_btn")
login_label.click()
time.sleep(15)
chrome.close()
if __name__ == "__main__":
name = "helloyiwantong@163.com"
pwd = "helloyiwantong@1234"
url = "http://www.maiziedu.com/"
automatic_login(name,pwd,url)