【发布时间】:2020-08-28 16:32:36
【问题描述】:
我知道这里的人说这是重复的,网上的答案都没有帮助我。下面是我的html代码
<div class="Headline"><div class="card mt15"><!-- react-empty: 350 --><div class="cardPad"><div class="widgetHead"><span class="widgetTitle">What do you want to wish </span><span class="edit icon">Edit</span></div><div class="widgetCont"><div class="prefill"><div> Good Morning</div></div></div></div></div></div>
在 UI 上的“标题”文本旁边有一个铅笔/钢笔图标,它具有“编辑图标”类,我想单击该铅笔图标,当弹出窗口打开时,我需要用文本更新它“早上好” 。我试图在 python 中使用 selenium 来实现这一点。
我尝试按 CSS_SELECTORS 查找并按 class_name 查找,但我无法点击它,有人可以请教我。
browser.find_element_by_css_selector('.Headline > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > span:nth-child(2)').click()
我尝试了上面的代码,但我得到了错误
selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted: Element <span class="edit icon">...</span> is not clickable at point (478, 521). Other element would receive the click: <div class="ppContainer">...</div>
(Session info: chrome=84.0.4147.135)
【问题讨论】:
-
你是如何尝试使用 JavaScript 进行点击的,例如
driver.execute_script("arguments[0].click();", element) -
其实不,我不知道 JS 是如何工作的,所以只是通过类名和 css 选择器来使用dind
-
您可以使用通过 css 选择器
find_element_by_css_selector('.Headline > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > span:nth-child(2)')找到的相同元素。只需在前面提到的 java 脚本中传递这个元素 -
谢谢 Kuldeep,页面底部有一个 cookie 弹出窗口,所以我无法点击欲望按钮,我处理了,一切正常
标签: html python-3.x selenium selenium-webdriver