尝试单击按钮但对我不起作用

织物

我有以下代码:

<div class="pt6-sm pb6-sm ta-sm-r d-sm-flx flx-jc-sm-fe"><button class="mb1-sm css-bz0cep ex41m6f0 secondary" type="button">Cancel</button><button class="ml3-sm mb1-sm css-17hmqcn ex41m6f0 primary" type="button">Save</button></div>

我试图单击“保存”按钮,并且正在尝试这样做:

  const addBtn = await select(page).getElement('button:contains(Save)');
  await addBtn.click()

我也尝试过:

  const [button] = await page.$x("//div[@class='elements']/button[contains(., 'Save')]");
  if (button) {
      await button.click();
  }

我得到了未兑现的承诺拒绝。知道为什么吗?

大卫·巴顿

基本上,您会得到UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'click' of undefined直到选择器不正确/元素不存在或尚未出现在页面上。

在这种情况下,您的xpath选择器似乎没有抓住元素。

这样就可以了:

  const addBtn = await page.$x('//button[contains(text(), "Save")]')
  await addBtn[0].click()

你知道吗?如果在Chrome DevTools的“元素”选项卡中右键单击一个元素,然后选择“复制”:您可以在其中复制元素的确切选择器或xpath。之后,您可以切换到“控制台”选项卡,并使用Chrome api可以测试选择器的内容,因此可以为操纵up脚本做好准备。例如:$x('//button[contains(text(), "Save")]').textContent应该显示您希望单击的按钮的文本,否则您需要更改访问权限,或者需要检查是否有更多具有相同选择器的元素,等等。这可能有助于您找到更多信息适当的选择器。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

当我尝试单击按钮时,它不起作用

来自分类Dev

尝试设置多条件搜索,但对我不起作用

来自分类Dev

我正在尝试动态添加多个tagit字段,但对我不起作用

来自分类Dev

单击不起作用的按钮

来自分类Dev

为什么我的jQuery按钮在单击时不起作用?

来自分类Dev

为什么我的调度对按钮单击事件不起作用?

来自分类Dev

为什么我的javascript按钮单击不起作用?

来自分类Dev

想制作固定的导航栏,但对我不起作用

来自分类Dev

我的按钮不起作用

来自分类Dev

按钮单击不起作用。-安卓

来自分类Dev

单击时按钮不起作用

来自分类Dev

jQuery的单击按钮不起作用

来自分类Dev

WPF按钮单击事件不起作用

来自分类Dev

按钮单击JQuery不起作用

来自分类Dev

按钮单击在jQuery内部不起作用

来自分类Dev

PyQT按钮单击不起作用

来自分类Dev

剑道模板按钮单击不起作用

来自分类Dev

AngularJS按钮单击$ mdDialog不起作用

来自分类Dev

ListView上的单击按钮不起作用

来自分类Dev

在单击按钮验证时不起作用

来自分类Dev

jQuery的按钮单击不起作用

来自分类Dev

按钮单击道场不起作用

来自分类Dev

检查是否单击了按钮...不起作用

来自分类Dev

硒按钮单击不起作用

来自分类Dev

AngularJS按钮单击$ mdDialog不起作用

来自分类Dev

单击生成的按钮,而循环不起作用

来自分类Dev

跳房子按钮单击不起作用

来自分类Dev

密谋按钮单击事件不起作用

来自分类Dev

Vaadin MVP 按钮单击不起作用