我正在尝试使用selenium和python,并在尝试使用webdriver.expectedConditions类时遇到问题。
以下代码摘自几个类,但包含所有必需的代码:
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
def isVisible(self, driver, HOW, WHAT, timeout=2):
locator=(HOW,WHAT)
try:
WebDriverWait(driver, timeout).until(EC.visibility_of_element_located(locator))
return True
except TimeoutException:
return False
newApplicationXpath = "//input[@value='New']"
self.assertTrue(self.isVisible(self.driver, "By.XPATH", newApplicationXpath, 120))
回溯:
WebDriverException:消息:未知错误:不支持的定位器策略:按 (会议信息:chrome = 66.0.3359.139) (驱动程序信息:chromedriver = 2.37.544315(730aa6a5fdba159ac9f4c1e8cbc59bf1b5ce12b7),platform = Linux 4.1.12-112.14.10.el7uek.bug27766149.x86_64 x86_64)
答案 0 :(得分:2)
没有更多的代码(你提供的样本非常不完整),我将假设你的错误是因为你将“By.XPATH”作为一个字符串传递,而不是{{1 }}。将代码的最后一行更改为:
By.XPATH