定位
定位选择Xpath:
- /:从根节点选取
- //:从匹配选择的当前节点选择文档中的节点,不考虑位置
- .:选择当前节点
- ..:选择当前节点父节点
- @:选择属性
在浏览器控制台输入$x('//*[@id="kw"]')进行搜索
交互
Action Chains
action = ActionChains(self.driver)
点击,右键点击,双击
action.click()
action.context_click()
action.double_click()
鼠标移动到某个元素上
action.move_to_element()
拖拽
action.drag_and_drop()
模拟按键
action.send_keys(Keys.BACK_SPACE)
表单操作
测试代码
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
class TestForm:
def setup(self):
self.driver = webdriver.Chrome()
self.driver.maximize_window()
self.driver.implicitly_wait(3)
def teardown(self):
self.driver.quit()
def test_touch_chains(self):
self.driver.get('https://testerhome.com/account/sign_in')
self.driver.find_element(By.ID, 'user_login').send_keys('123')
self.driver.find_element(By.ID, 'user_password').send_keys('password')
# 勾选点击不起作用,改写为下面
element = self.driver.find_element(By.XPATH, '//*[@id="user_remember_me"]')
self.driver.execute_script("arguments[0].click();", element)
time.sleep(5)
self.driver.find_element(By.XPATH, '//*[@id="new_user"]/div[4]/input')
结果