我试图测试一个网站的表单提交页面。“提交”按钮具有以下HTML:
<input id="ctl00_PlaceHolderMain_SubmitButton" class="SubmitButton" type="submit" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$PlaceHolderMain$SubmitButton", "", true, "", "", false, false))" value="Submit" name="ctl00$PlaceHolderMain$SubmitButton"/>
我已经找到它的id和运行下面的代码在我的测试。由于某些原因,没有抛出错误。测试刚刚通过,没有点击按钮。我错过了什么?你知道吗
self.click(10,
"id",
OigHotlinePageMap['SubmitButtonId']
)
我将click()方法存储在页面对象中:
def wait_until_element_clickable(self, waitTime, locatorMode, Locator):
element = None
if locatorMode == LocatorMode.ID:
element = WebDriverWait(self.driver, waitTime).\
until(EC.element_to_be_clickable((By.ID, Locator)))
elif locatorMode == LocatorMode.NAME:
element = WebDriverWait(self.driver, waitTime).\
until(EC.element_to_be_clickable((By.NAME, Locator)))
elif locatorMode == LocatorMode.XPATH:
element = WebDriverWait(self.driver, waitTime).\
until(EC.element_to_be_clickable((By.XPATH, Locator)))
elif locatorMode == LocatorMode.CSS_SELECTOR:
element = WebDriverWait(self.driver, waitTime).\
until(EC.element_to_be_clickable((By.CSS_SELECTOR, Locator)))
else:
raise Exception("Unsupported locator strategy.")
return element
def click(self, waitTime, locatorMode, Locator):
self.wait_until_element_clickable(waitTime, locatorMode, Locator).click()
我将定位器存储在UI地图字典中:
OigHotlinePageMap = dict(SubmitButtonId = "ctl00_PlaceHolderMain_SubmitButton"
)
因此HTML中的onclick()没有启动,因为网站上的一个单选按钮没有被选中。我可以点击提交按钮后,选择所需的单选按钮。你知道吗
一个常规的click()方法通过CSS选择器工作。你知道吗
尝试改用类名,它将起作用:
为此,您应在代码中引入以下内容:
然后将其用作:
现在,您可以将词典更改为:
相关问题 更多 >
编程相关推荐