如何在仅存在“ :: Before”标签的情况下使用硒单击元素

时间:2019-04-11 01:33:56

标签: java html selenium

我正在尝试使用带有Java的Selenium在日历的下个月进行导航,但是对于>(日历上的按钮用于在下个月进行导航)元素,仅显示以下信息。

<a class="react-datepicker__navigation react-datepicker__navigation--next">
::before
</a>==$0

并且class标记未指向>,而是仅在页面上的其他地方指向“ :: before”指向元素>

请建议如何点击>元素?

我尝试使用Xpath //*[@class='react-datepicker__navigation react-datepicker__navigation--next'],但是它指出了页面上的其他位置,因此无法正常工作。

driver.findElement(By.xpath("//*[@class='react-datepicker__navigation react-datepicker__navigation--next']")).click();

Please see this image for more information

2 个答案:

答案 0 :(得分:1)

我不确定100%WebDriver是否可以为您检索伪元素内容。我认为您需要使用Javascript。我测试了以下作品。

打开日期选择器

driver.findElement(By.xpath("//input[@class='fl-input _9KqY' and @data-reactid='195']")).click();   

点击下一个元素或下个月

JavascriptExecutor js = (JavascriptExecutor) driver; 
js.executeScript("document.querySelector('a.react-datepicker__navigation--next',':before').click();");

答案 1 :(得分:0)

我可以使用CSS单击下一个链接。

.react-datepicker__navigation--next

enter image description here