刚开始学习Selenium + Python自动化测试总会遇到一些奇奇怪怪的坑
第一个就是语法弃用警告
虽然不影响运行,但是在控制台总是出现红色字体的警告总是觉得不舒服
弃用警告:find_element_by_* 的一系列命令已经被弃用。请使用 find_element() 代替......
这里有两种解决方案
方案一、使用find_element("属性","值")
举例:
def test_login(self):
username = self.driver.find_element('name','username')
username.send_keys('admin')
pwd = self.driver.find_element('name','pwd')
pwd.send_keys('123456')
sleep(2)
self.driver.find_element('id','submit').click()
方案二:使用find_element("By.属性","值")
这里需要先进行导包
from selenium.webdriver.common.by import By
举例:
def test_id(self):
element = self.driver.find_element(By.ID,"kw")
element.send_keys("adb")
print(type(element))
self.driver.find_element(By.ID,"su").click()
self.driver.find_element(By.ID, "su").click()
sleep(3)
上面出现的两次click()就是我遇到的第二个坑
在定位元素后click()方法失效,程序没有报错
这里列出三种解决方案
方案一、直接点击两次
self.driver.find_element(By.ID,"su").click()
self.driver.find_element(By.ID, "su").click()
方案二:键盘点击用send_keys(Keys.ENTER)代替click()
这里需要先进行导包
from selenium.webdriver import Keys
修改后代码
self.driver.find_element(By.ID,"su").send_keys(Keys.ENTER)
方案三:使用js直接去点击
js = 'document.getElementById("su").click();'
self.driver.execute_script(js)
版权归原作者 bbudha 所有, 如有侵权,请联系我们删除。