我需要使用cooresponding页面对象方法获取元素坐标(位置)。 现在我使用以下方法来获取它:
- myelementname_element.wd.location[0] --> to get X
- myelementname_element.wd.location[1] --> to get Y
但我经常收到以下警告:
弃权警告
- 您正在d:/ JenkinsWorkspace / jenkins /...上调用名为wd的方法。
- 此方法在页面对象中不存在,因此将其传递给驱动程序。
- 此功能将在不久的将来删除。
- 请更改您的代码以调用正确的页面对象方法。
您能帮助我并向我提供相应的页面对象方法吗?
TIA, ANNA
答案 0 :(得分:2)
要使用watir-webdriver(或selenium-webdriver)元素支持的方法,而不是page-object-gem元素直接支持的方法,您需要先获取本机元素。这是通过调用page-object-gem元素的element
方法完成的:
myelementname_element.element
如您所见,您可以通过以下方式获取三个不同的gem元素类:
puts page.myelementname_element.class
#=> PageObject::Elements::TextField
puts page.myelementname_element.element.class
#=> Watir::TextField
puts page.myelementname_element.element.wd.class
#=> Selenium::WebDriver::Element
对于您的具体示例,您希望这样做:
myelementname_element.element.wd.location[0]
myelementname_element.element.wd.location[1]