gpt4 book ai didi

python - 为什么在 Python Selenium click() 中不起作用,但 send_keys ('\n' )却起作用?

转载 作者:太空宇宙 更新时间:2023-11-03 20:15:28 25 4
gpt4 key购买 nike

我有一个网页,其中有更多具有相同类别和名称的按钮,单击它们后它们就会消失并且不执行任何操作。所以我首先尝试了这个,但没有成功:

buttons = driver.find_elements_by_xpath('//*[@class="btn"]')
buttons[1].click()
buttons = driver.find_elements_by_xpath('//*[@class="btn"]')
buttons[2].click()
buttons = driver.find_elements_by_xpath('//*[@class="btn"]')
buttons[3].click()

然后找到了解决方案:

buttons = driver.find_elements_by_xpath('//*[@class="btn"]')
buttons[1].send_keys('\n')

我是 Python 新手,所以谁能解释一下不使用 click 而是使用 send_keys('\n') 的原因是什么?

最佳答案

根据 WebElement 类型,某些元素不接受点击,即使网站打算让您点击它们 - 您可以尝试使用 Javascript click() 函数来代替发送 key 看看是否有效。它比发送 key 更一致,因为您仍在执行单击:

buttons = driver.find_elements_by_xpath('//*[@class="btn"]')

# click button using javascript
driver.execute_script("arguments[0].click();", buttons[1])

我们需要使用Javascript的原因通常与网页本身的限制有关。

关于python - 为什么在 Python Selenium click() 中不起作用,但 send_keys ('\n' )却起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58475969/

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