我在网页的树结构中有一个HTML文件层次结构 如图所示。
HTML代码
<div class="rtMid rtSelected">
< span class="rtSp"/>
< img class="rtImg" alt="Automation" src="http://192.168.1.6/eprint_prod_3.8/images/StoreImages/close_folder.png"/>
< span class="rtIn" title="Automation">Automation (1)</span>
</div>
在Selenium WebDriver有一种方法可以点击Automation (1)
链接,只搜索我不想使用的文本XPath原因是位置会改变所以有没有办法通过它找到它发短信并点击它。
答案 0 :(得分:2)
XPath功能强大,你发现它并不可靠,你没有正确使用它。请花一些时间在XPath Tutorial。
这是您问题的简单解决方案,但您可能需要考虑许多其他事项。例如。匹配标题和文字等。
driver.findElement(By.xpath(".//span[text()='Automation (1)']")).click();
CSS选择器也比XPath更强大,更快,更易读。但在你的情况下,它并不支持按文字查找。
答案 1 :(得分:0)
按标题搜索效果很好
driver.findElement(By.xpath("//span[contains(@title,'Automation')]")).click();
答案 2 :(得分:0)
2方法
方法1:
按班级名称:
这里我们有文本自动化(1)的类名,即rtIn。 执行driver.findElement(By.className(“rtIn”))。click();
方法2:
通过父级和类名的CSS选择器
父级的CSS选择器:.rtSelected
WebElement element1 = driver.findElement(By.cssSelector(“。rtSelected”)) element1.className( “RTIN”)点击();
方法3:
通过直接CSS选择器: 1.rtIn 2. .rtSelected&gt; .rtIn
最好使用第二个CSS Selector
driver.findElement(By.cssSelector(“。rtSelected&gt; .rtIn”))。click();