1.驱动放在C:\Users\<当前用户名>\AppData\Local\Programs\Python\Python38 python安装路径下
#chromedriver驱动获取地址http://chromedriver.storage.googleapis.com/index.html
2.切换窗口、切换frame、切换alert
#切换窗口,获取窗口名字
new_window=driver.window_handles[-1]
#switch_to_window方法过时
driver.switch_to.window(new_window)
#切换frame
driver.switch_to.frame("mainFrame")
#切换alert
textasert=driver.switch_to.alert.text
driver.switch_to.alert.accept()
3.运行javascript
#运行javascript,删除元素readonly属性
script='document.getElementById("date").removeAttribute("readonly")'
driver.execute_script(script)
4.submit()提交表单
driver.find_element_by_id("username").send_keys("admin")
driver.find_element_by_id("password").send_keys("123456")
#只能用于form表单,当submit按钮定位困难时可以submit方法提交
#提交一个元素即是提交整个表单
driver.find_element_by_id("password").submit()
5.高级元素操作
from selenium.webdriver import ActionChains
#高级元素操作
#双击
ActionChains(driver).double_click(driver.find_element_by_id("7")).perform()
6.下拉框选择
from selenium.webdriver.support.select import Select
brand=driver.find_element_by_name("brand_id")
Select(brand).select_by_value("1")
7.上传文件
#元素invisible,任然可以点击send_keys
driver.find_element_by_name("file").send_keys("d:/1.png")
8.css_selector方法
#css_selector
#标签直接使用,class前面加.使用,id前面加#使用,元素属性唯一加[]使用
#>表示父子关系,空格表示祖先元素和子孙元素关系
driver.find_element_by_css_selector("#filePicker label").click()
driver.find_element_by_css_selector(".uploadBtn.state-finish.state-ready").click()
driver.find_element_by_css_selector('[value="1"]').click()
#父元素class_name,子元素取链接的第一个
driver.find_element_by_css_selector('.site-nav-right.fr > a:nth-child(1)')
9.显示等待
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.support.wait import WebDriverWait
WebDriverWait(driver,3).until(expected_conditions.alert_is_present())
10.获取页面信息
#获取当前页面标题
self.driver.title
#获取当前url
self.driver.current_url
#获取元素text
result=self.driver.find_element_by_css_selector('.site-nav-right.fr > a:nth-child(1)').text
print(result)
#获取元素value属性值
search=self.driver.find_element_by_class_name('btn1').get_attribute('value')
print(search)