持续更新。。。
1.括号中的文案写错,比如社团写成社区,最好还是在html页面里定位到元素去粘贴上面的文案,哪怕只有两个字❗️
self.driver.find_element_by_link_text("社团").click()
2.使用隐式等待,直接报错,因为隐式等待这判断这个元素有了,但不会判断这个元素是不是可点击(不会判断属性),所以要么使用直接等待,要么使用显式等待⚠️⚠️
from selenium import webdriver import time class TestCase(): #初始化打开浏览器的操作 def setup(self): self.drivers=webdriver.Chrome() #最大化浏览器 self.drivers.maximize_window() #get方法是打开url self.drivers.get("https://testerhome.com/") #用例结束后,关闭浏览器 def teardown(self): self.drivers.quit() def test_case(self): #find_element_by_link_text找到社团,通过click来点击进入 #<p>社团<p>的方式找 self.drivers.find_element_by_link_text("社团").click() #每一个步骤都需要有延迟,这里用到直接等待 time.sleep(3) #找到“霍格沃兹测试学院”,然后点击 #如果使用隐式等待,会直接报错,因为隐式等待这判断这个元素有了,但不会判断这个元素是不是可点击,所以要么使用直接等待,要么使用显示等待 self.drivers.find_element_by_link_text("霍格沃兹测试学院").click() #通过xpath的方式找到第一个帖子 self.drivers.find_element_by_xpath("//a[@href='/topics/22287']").click() #等待5秒,看是不是真的进入了帖子 time.sleep(5)
3.pycharm控制台无法运行pytest,但是venv环境可以,另外执行pycharm也可以,就是电脑终端执行pytest命令提示无此命令
解决方案:因为一开始是在venv环境中安装的pytest,原始环境中找不到这个已经安装的pytest,环境隔离的问题确实让人头疼;
反复卸载安装pytest还是装在了原来路径下,最后安装的时候加
pip3 install pytest --user,如下图提示没有添加环境变量,所以本机原始环境找不到这个pytest,因此vi ~/.bash_profile,将提示的地址添加到环境变量中,重启后生效:source ~/.bash_profile
注意⚠️以后无论装什么软件还是直接本机装,不要用pycharm装,不然一不小心就会装进venv环境中 ❗️❗️