gpt4 book ai didi

javascript - Div 覆盖空白区域和元素,因此看起来无法点击(Python Selenium)

转载 作者:太空宇宙 更新时间:2023-11-03 19:52:35 24 4
gpt4 key购买 nike

请帮忙,因为这让我发疯。

这应该很简单 - 单击一个元素。但对于我的一生,我找不到办法做到这一点。

我可以用我尝试过的每种方法找到它,但我似乎无法单击它。我尝试过通过类名、XPath 类、XPath 范围文本,我尝试过使用 javascript 强制单击。没有什么。这个蓝色的“确定”按钮似乎无法点击。

我开始认为这可能是因为 div 形状,我将其附加在图像中。看起来 div 也位于按钮的左侧,所以也许只是单击按钮旁边的空白区域(无论出于何种原因)也恰好被 div 覆盖?如果是这样,有没有办法指定点击 div 的哪一部分?

这是我尝试过的:

browser.find_element_by_class_name('ok')

browser.find_element(By.XPATH, "//div[@class='ok']")

browser.execute_script("arguments[0].click();",
WebDriverWait(browser, 10).until(EC.element_to_be_clickable
((By.Class, "ok"))))

browser.FindElement(By.XPath("//div[@class='ok']/span[@class='OK']"));

HTML code for element in question The OK button I am trying to click the div covering blank space to the left of the button

最佳答案

您需要定位 <span> 的文本标签:

xpath = "//div[@class='ok']/span[contains(., 'OK')]";

browser.find_element_by_xpath(xpath);

I get the element not interactable error still?

您需要“等待”该元素才能单击。浏览器和 Selenium 之间的竞争条件可能会导致元素在您能够单击之前就已位于 DOM 中,例如,如果您有一个淡入对象的动画。

xpath = "//div[@class='ok']/span[contains(., 'OK')]";
wait = WebDriverWait(browser, 10);
okButton = wait.until(EC.element_to_be_clickable(xpath));

okButton.click();

关于javascript - Div 覆盖空白区域和元素,因此看起来无法点击(Python Selenium),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59739903/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com