这是来自https://contacts.google.com/的表格添加新联系人时
我尝试通过 xpath、类名、id、标签来定位它们,但无法定位。 下面是尝试通过xpath定位的示例
browser.text_field(xpath: "//*[@id='c1']/div[2]/div[1]/div/div[1]/div/div[1]").set "#{firstname}"
sleep (5)
browser.text_field(xpath: "//*[@id='c1']/div[2]/div[3]/div/div[1]/div/div[1]/input").set "#{lastname}"
sleep (5)
browser.text_field(xpath: "//*[@id='c4']/div/div[1]/div/div[1]/div/div[1]/input").set "#{company}"
sleep (5)
browser.text_field(xpath: "//*[@id='c4']/div/div[2]/div/div[1]/div/div[1]/input").set "#{job}"
sleep (5)
browser.text_field(xpath: "//*[@id='c6']/div[1]/div[2]/div[1]/div/div[1]/input").set "#{number}"
sleep (5)
browser.text_field(xpath: "//*[@id='c15']/div/div[1]/div[2]/textarea").set "#{notes}"
sleep (5)
browser.div(xpath: "//*[@id='ow44']/div[3]/div/button[2]/div").wait_until(&:present?).click
最佳答案
输入字段的 HTML 如下所示:
<input type="text" class="whsOnd zHQkBf" jsname="YPqjbf" autocomplete="off" tabindex="0" aria-label="First name" autofocus="" data-initial-value="bbbb" badinput="false" dir="ltr">
请注意,有一个 aria-label 属性提供了对该字段的良好描述,这使其成为一个很好的定位器。
尝试:
browser.text_field(aria_label: 'First name').set "#{firstname}"
其他字段也可以进行类似操作。
关于鲁比·沃蒂尔自动化 : Unable to locate google contact input fields and set value on them,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59968974/