持續更新。。。
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環境中 ❗️❗️