我正在尝试自动化操作,并且由于其动态特性而无法选择元素。 我在ruby上运行Selenium web驱动程序,我正在尝试选择页面源中不存在的值。
<a class="linkOtherBrowser" onclick="addChangeStatusField('InitialSelectionPage');submitFormByAction('ChangeStep');return false;" href="#"><div class="processBarElement noSelected">
<div class="whiteBeforeProcessBarTitles"></div>Initial Selection</div>
<div class="endOfElementOfProcessBar"></div></a>
我正在尝试选择价值&#34;初始选择&#34;从上面。
有人可以帮忙吗?
谢谢, 阿布舍克巴克
答案 0 :(得分:0)
由于HTML是由Javascript生成的,您需要检查DOM 而不是viewsource并相应地编写元素定位器代码。
注意:在IE,Firefox或Chrome中,您可以按F12键查看开发人员工具,并使用inspect元素选项检查DOM。
答案 1 :(得分:0)
在DOM中添加动态生成的任何元素。 WebDriver具有点击元素的功能,在UI上是可见的,因此如果生成的元素对于普通用户是可见的,则可以轻松地单击元素。
为此,您需要为新生成的点击确定最佳选择器,可以是xpath或css。识别出选择器后,您可以考虑使用以下代码单击单击
WebElement element = driver.findElement(By.xpath("//a[@title='NAME_TITLE']"));
element.click();
OR
WebElement element = driver.findElement(By.css("a[title='NAME_TITLE']"));
element.click();
在By.class中有更多选项以最佳方式选择元素