【发布时间】:2019-02-06 05:16:11
【问题描述】:
我有一个需要使用 Selenium 选择的复选框。下面是HTML:
<input id="diDataCheck" ng-model="$parent.DIDATA.IsSet" name="Mode" type="checkbox" class="ng-pristine ng-untouched ng-valid ng-empty" xpath="1">
我尝试使用它的id 或name 甚至使用XPath 来访问它,但它似乎不起作用。
CHECKBOX = (By.XPATH, ".//*[contains(text(), 'diDataCheck')]""") # using XPATH
CHECKBOX = (By.ID, "diDataCheck") # using id
CHECKBOX = (By.NAME, "Mode") # using name
我在上面使用的是:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable(CHECKBOX)).click()
我也在try except 中加入了上述行,但在Exception message 中我一无所获。
当我将WebDriverWait() 更改为:
driver.find_element_by_id("diDataCheck").click()
我遇到了异常:
Message: element not visible
【问题讨论】:
-
复选框在 HTML 页面上是否可见?
-
XPath 不正确,因为
input不能包含文本。分享你是如何实现try/except并解释got nothing in Exception message 是什么意思
标签: python selenium xpath css-selectors webdriver