使用Selenium(Python),我們如何將By
對象傳遞給findElement()?Selenium Python中的findElement(by by)方法
的Java(這工作)
By locater = By.id("username")
WebElement elem = driver.findElement(locater)
elem.SendKeys("tester")
的Python(失敗)
locater = By.id("username")
elem = driver.find_element(locater)
elem.send_keys("tester")
的錯誤,我在python得到的是'str' object is not callable
。 我在其他SO談話看這件事和它因爲Python預計類似By.ID或By.XPATH等
我需要一種方法來傳遞通過對象,不知道這是可能的。提前致謝。
非常感謝@Andersson。接受這個答案最接近我想要的。你介意描述爲什麼'*'前綴定位器? –
作爲'locator'的類型是'tuple',你需要使用'* locator'語法來解開元組中的值。要清楚:'find.element(locator)== find.element((By.XPATH,oSignUp.listformfieldxpaths [0]))','find.element(* locator)== find.element(By.XPATH, oSignUp.listformfieldxpaths [0])' – Andersson
再次感謝@Andersson瞭解詳情和快速響應。這確實非常有用。 –