我正在尝试并自动导航到外部网站。为此,我需要单击一个按钮(在完整日历中显示下一周)。Vaadin的Fullcalendar插件如下所示。
该按钮在HTML中定义为(Electron 80 developer tool):
<div id="content">
<vaadin-vertical-layout class="layoutCalendar" theme="padding spacing" style="width: 80%;">
<div class="buttonContainer">
<vaadin-button class="custom-button" theme="icon" tabindex="0" role="button">
<iron-icon icon="vaadin:angle-double-left"></iron-icon>
</vaadin-button>
<vaadin-button class="custom-button" tabindex="0" role="button">Today</vaadin-button>
<vaadin-button class="custom-button" theme="icon" tabindex="0" role="button">
<iron-icon icon="vaadin:angle-double-right"></iron-icon>
</vaadin-button>
<vaadin-button class="custom-button" theme="icon" tabindex="0" role="button">
<iron-icon icon="vaadin:calendar"></iron-icon>
<vaadin-date-picker tabindex="0" style="visibility: hidden; width: 0px; position: fixed; height: 0px;"></vaadin-date-picker>
</vaadin-button>
</div>
<full-calendar class="calendar" style="background: rgb(255, 255, 255);"></full-calendar>
</vaadin-vertical-layout>
</div>
其xpath(来自Firefox 68开发工具)定义为:
//*[@id="button"]
所以我在Selenium IDE中添加了一个单击命令,目标字段中有以下文本:
xpath=//*[@id="button"]
但当然,由于所有按钮(即上一个或今天的按钮)共享相同的id,因此无法工作(失败:09:44:37隐式等待在30000ms后超时
)。
所以我尝试使用xpath:
<vaadin-button class="custom-button" theme="icon" tabindex="0" role="button"><iron-icon icon="vaadin:angle-double-right"></iron-icon></vaadin-button>
xpath定义为:
/div[1]/vaadin-vertical-layout/div/vaadin-button[3]
所以在Selenium IDE中,我输入了目标字段:
xpath=//div/vaadin-vertical-layout/div/vaadin-button[3]
同样的结果。
此外,使用Find target in page
不会突出显示按钮,使用Select target in page
返回css=calendar view
并以相同方式结束(不单击按钮)。
如果Selenium按钮不能在IDE上显示错误,为什么它不能显示?此外,我应该切换Selenium(而不是IDE)还是Selenium IDE足以满足我的需要?
请注意:由于这是一个我不拥有的外部网站,我无法判断哪个vaadin版本为该网站供电。
编辑:尝试下面皮特的答案
我在Vaadin FullCalendar插件演示上进行了练习,并让它使用xpath=//Vaadin按钮[4]
或xpath=//Vaadin按钮//span[contains(text(),“Next”)]
。我注意到Selenium IDE在我进入时建议使用这些xpath。
当我在我的目标网站上做同样的事情时,Selenium IDE只是建议xpath=//calane-view
。此外,尽管开发者工具报告说下一个按钮(没有文本,只有chevron-right
图标)实际上是第4个vaadin-按钮
,但Selenium IDE无法突出显示(又名查找)xpath=//vaadin-按钮[4]
.这在我看来很奇怪。
什么可以阻止Selenium IDE找到按钮?
非常感谢您的帮助:-)
从…起https://stefan.app.fi/fullcalendar-demo/,我写了这些XPath:
前一周:
XPath = "//vaadin-button//span[contains(text(),"Previous")]"
下个星期:
XPath = "//vaadin-button//span[contains(text(),"Next")]"
今天:
XPath = "//vaadin-button//span[contains(text(),"Today")]"
我正在尝试通过xpath,css,ID...但什么都管用。 我总是得到错误:没有这样的元素:无法定位元素 我添加了一个明确的等待,但它仍然不起作用。 你能帮帮我吗? 单选按钮
我试图用硒点击“下一页”按钮,但没有成功。我使用了正确的CSS选择器还是应该把它换成别的东西?
我正在尝试使用Java Selenium Web驱动程序单击弹出窗口中的“保存”按钮,但是它会引发异常 消息:元素当前不可见,因此可能不会与命令持续时间交互 我可以看到“保存”按钮在我的弹出窗口中处于活动状态。我不知道它抛出异常的原因。 我正在尝试单击的“保存”按钮的 HTML 代码, firepath:html/body/div[6]/div/div/div/dir[2]/div/div//bu
问题内容: HTML代码: 使用类名,我试图单击按钮,但无法单击。 我尝试了以下代码: 问题答案: 您可以尝试通过获取它。据我所记得,这只是一堂课。
我用selenium加载一个页面:http://www.legorafi.fr/接下来,我尝试单击“Tout Accepter”按钮,但即使使用css选择器,它也不起作用。是给饼干的。 我试过这样的方法: 这是带有文本“Tout Accepter”的蓝色按钮 我该怎么办?