1
我想在此網站上自動登錄,但它根本不會自動填充,這裏是我的代碼。Python 3 Selenium自動填充
我試圖在谷歌上搜索Youtube,看到非常類似的教程,每個教程後面都有,但是每次出現錯誤或者沒有自動填寫用戶名和密碼時都會工作。
我真的很感激,如果你可以採取一秒鐘,看看下面的代碼,讓我知道是什麼問題,爲什麼它不工作。
任何幫助非常讚賞
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
import unittest
class LoginTest(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome("C:/Program Files (x86)/Google/ChromeDriver/chromedriver.exe")
self.driver.get("ts2.travian.si/login.php")
def test_Login(self):
driver = self.driver
username = "FERIgeeks"
password = "test123"
usernameFieldName = "name"
passwordFieldName = "password"
loginButtonXpath = "//input[@value='Prijava']"
usernameFieldElement = WebDriverWait(driver, 10).until(lambda driver: driver.find_element_by_name(usernameFieldName))
passwordFieldElement = WebDriverWait(driver, 10).until(lambda driver: driver.find_element_by_name(passwordFieldName))
loginButtonElement = WebDriverWait(driver, 10).until(lambda driver: driver.find_element_by_xpath(loginButtonXpath))
usernameFieldElement.clear()
usernameFieldElement.send_keys(username)
passwordFieldElement.clear()
passwordFieldElement.send_keys(password)
loginButtonElement.click()
def tearDown(self):
self.driver.quit()
if __name__ == '__main__':
unittest.main()
這裏有錯誤,我得到
Error
Traceback (most recent call last):
File "C:\Users\User\AppData\Local\Programs\Python\Python36-32\lib\unittest\case.py", line 59, in testPartExecutor
yield
File "C:\Users\User\AppData\Local\Programs\Python\Python36-32\lib\unittest\case.py", line 601, in run
testMethod()
File "C:\Users\User\PycharmProjects\Home\travianBot\travianBot.py", line 22, in test_Login
loginButtonElement = WebDriverWait(driver, 10).until(lambda driver: driver.find_element_by_xpath(loginButtonXpath))
File "C:\Users\User\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\support\wait.py", line 71, in until
value = method(self._driver)
File "C:\Users\User\PycharmProjects\Home\travianBot\travianBot.py", line 22, in <lambda>
loginButtonElement = WebDriverWait(driver, 10).until(lambda driver: driver.find_element_by_xpath(loginButtonXpath))
File "C:\Users\User\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 309, in find_element_by_xpath
return self.find_element(by=By.XPATH, value=xpath)
File "C:\Users\User\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 787, in find_element
'value': value})['value']
File "C:\Users\User\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 252, in execute
self.error_handler.check_response(response)
File "C:\Users\User\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 194, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchWindowException: Message: no such window: target window already closed
工作過,非常感謝你! –