我在学Python和硒。我尝试用页面对象模式创建一个新项目,但是WebdriverWait有问题,你可以看到我的代码,接下来,我写下我是如何得到错误的。你知道吗
页面中的方法:
def testStart(self):
WebDriverWait(self.driver, 15).until(
expected_conditions.element_to_be_clickable((By.ID,
StartPage.username))
)
user = self.driver.find_element(*StartPage.username)
user.click()
我的测试-简单;)
startPage = StartPage(self.driver)
startPage.testStart()
和定位器:
username = (By.ID, 'username')
和错误:
selenium.common.exceptions.WebDriverException: Message:
invalid argument: 'value' must be a string
当我在上的页面中选中方法时:
def testStart(self):
WebDriverWait(self.driver, 15).until(
expected_conditions.element_to_be_clickable((By.ID,
*StartPage.username))
)
user = self.driver.find_element(*StartPage.username)
user.click()
我有:
TypeError: find_element() takes from 1 to 3 positional arguments but 4 were given
我怎样才能改变这个?你知道吗
错误1:
你的
StartPage.username
是:username = (By.ID, 'username')
。你知道吗现在,当您使用以下命令等待此元素时:
您正在传递一个
By
对象,而不是ID
。。。你知道吗您可以通过以下方式解决此问题:
或者将
StartPage.username
更改为:username = 'username'
,并将代码保留在等待中。。。你知道吗有关详细信息,请参见page-objects。你知道吗
希望这对你有帮助!你知道吗
相关问题 更多 >
编程相关推荐