gpt4 book ai didi

python - 元素不可点击(按钮被其他元素阻挡)

转载 作者:行者123 更新时间:2023-11-28 02:04:09 25 4
gpt4 key购买 nike

Trying to click this button id="btnSearch"

我试图点击这个按钮:browser.find_element_by_id('btnSearch')

但是这个按钮被这个 div 标签挡住了:<div id="actionSearch" class="row pull-right">

当它被 actionSearch div 阻止时,我该如何点击带有 id='btnSearch"的按钮?

我尝试了以下方法:

  • browser.find_element_by_id('btnSearch').click()

  • browser.implicitly_wait(10)
    el = browser.find_element_by_xpath('//*[@id="btnSearch"]')
    ActionChains(browser).move_to_element_with_offset(el, 1827, 270)
    ActionChains(browser).click()
    ActionChains(browser).perform()
  • element = browser.find_element_by_id('btnSearch')
    browser.execute_script("arguments[0].click();", element)
  • wait(browser, 10).until(EC.element_to_be_clickable((By.XPATH, //*[@id="btnSearch"]'))).click()

这些都不起作用。

谁能帮我解决这个问题?我花了两天时间试图点击这个按钮!!请帮忙!

最佳答案

考虑提供的 HTML 源图像(提示:不要将其作为图像提供,而是作为文本提供)我可以假设所需元素位于页面底部,您可能需要向下滚动页面才能处理它.

试试下面的代码

link = browser.find_element_by_id("btnSearch")
browser.execute_script("arguments[0].scrollIntoView()", link)
link.click()

注意 link 不是伪元素(不在 ::before/::after 伪元素内部),所以它不是原因你的问题

至于你的代码:

ActionChains(browser).move_to_element_with_offset(el, 1827, 270)
ActionChains(browser).click()
ActionChains(browser).perform()

在这里,您尝试滚动到具有巨大偏移量的链接,然后单击当前鼠标位置 - 不是在链接上

你可以尝试修改为

ActionChains(browser).move_to_element(el)
ActionChains(browser).click(el) # Pass WebElement you want to click as argument to `click()`
ActionChains(browser).perform()

关于python - 元素不可点击(按钮被其他元素阻挡),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49122003/

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