我正在尝试点击此按钮: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()
这些都不起作用。
任何人都可以帮我吗?我花了两天时间试图点击这个按钮!请帮忙!
答案 0 :(得分:0)
考虑提供HTML源代码的图像(提示:不要将其作为图像提供,而是作为文本提供)我可以假设所需的元素位于页面底部,您可能需要向下滚动页面才能处理它
尝试以下代码
link = browser.find_element_by_id("btnSearch")
browser.execute_script("arguments[0].scrollIntoView()", link)
link.click()
请注意,链接不是伪元素(不在::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()