我在单击展开按钮时遇到了问题,该按钮打开页面中列出分类法复选框的部分。
似乎webdriver认为它正在完成单击“展开”按钮的操作,但该部分仍然是折叠的。
下面是HTML的一部分
码
metadata-editor name="resourceModelTaxonomyTypeIds" label-text="Type" matadata-fieldname="Type" resource-id="id" selected-ids="resourceModel.TaxonomyTypeIds" required class="ng-isolate-scope"
<div class="form-group" ng-class="{'has-error': (required && form.$submitted && !isValid)}"
::before
<div class="col-md-9">
<!-- ngRepeat: node in loadSelectedNodes() -->
<br ng-show="loadSelectedNodes().length > 0" class="ng-hide"
<button type="button" class="btn btn-sm btn-info btn-expand-taxonomy ng-pristine ng-binding ng-invalid ng-invalid-valid ng-touched" name="resourceModelTaxonomyTypeIds" ng-model="selectedIds" ng-click="toggleView(isCollapsed)"><span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span> Expand</button>以下是我的一些工作,但没有奏效:
尝试1:我尝试了简单的.Click()操作
driver.FindElement(By.Name("resourceModelTaxonomyTypeIds")).Click();结果: Webdriver通过了步骤,但是屏幕上没有发生任何事情,展开按钮仍然被折叠,并且该选项仍然隐藏。
尝试2:我尝试了MoveToElement操作
Actions clickExpand = new Actions(driver);
clickExpand.MoveToElement(driver.FindElement(By.Name("resourceModelTaxonomyTypeIds"))).Click().Perform();结果:和以前一样,webdriver认为一切正常,但实际上扩展按钮还没有扩展该部分。
尝试3:安装了Selenium,做了一个记录和回放,查看它作为什么代码(通过转换为C#),Selenium用.Click()操作记录它,就像我在上面的尝试中尝试的那样。
我有点被困在为什么这个按钮不能工作了。是否有人遇到过或处理过这类展开按钮?
注意:手动测试展开按钮,通过单击以证明按钮工作,只有webdriver似乎没有这样做。
发布于 2016-08-16 14:17:49
对于这种类型的展开按钮,如果你真的按下了枕形-雪佛龙并点击那个,那么动作会执行.
driver.FindElement(
By.CssSelector(
".glyphicon.glyphicon-chevron-right")).Click();当按钮折叠时,雪佛龙是“右”,当展开雪佛龙是“向下”,所以在理论上,如果你有多重展开,你可以重复相同的代码,将展开所有它们.或者更聪明,与父母交往,但两者都有效。
若要单击以折叠屏幕区域,您需要.
driver.FindElement(
By.CssSelector(
".glyphicon.glyphicon-chevron-down")).Click();发布于 2016-08-11 17:44:05
我想知道这个元素是否已经可以点击了?您试过使用WebDriverWait并使用预期的条件标志吗?一些样本代码。这里有更多的参考资料,http://selenium-python.readthedocs.io/waits.html?highlight=webdriverwait
try:
more = WebDriverWait(self.driver, 10,poll_frequency=2,ignored_exceptions=[ElementNotVisibleException, ElementNotSelectableException]).until(EC.element_to_be_clickable((By.Name, 'resourceModelTaxonomyTypeIds')))
except TimeoutException:
break
more.click()https://stackoverflow.com/questions/38899799
复制相似问题