尊敬的社区成员,
所以我在谷歌搜索右下方找到next按钮,下面是HTML代码:
<td aria-level="3" class="d6cvqb" role="heading"><a href="/search? q=site:linkedin.com/in/+AND+%22Kleiner+Perkins%22+AND+%22profile%22&biw=801&bih=661&sxsrf=AL eKk015vcO0GNGs89AY8isGkfsRmY5fEw:1619014736075&ei=UDSAYLCMBM- zsAfljLiQBQ&start=30&sa=N&ved=2ahUKEwiw9Orxw4_wAhXPGewKHWUGDlI4FBDw0wN6BAgBEEk"
id="pnnext" style="text-align:left">
<span class="SJajHc NVbCr" style="background:url(/images/nav_logo299.webp) no-repeat;background-
position:-96px 0;width:71px"></span><span style="display:block;margin-left:53px">Next</span></a></td>
我在python中使用了以下代码定位按钮并单击它:
next_button = driver.find_element_by_xpath("//a[@id='pnnext']")
next_button.click()
一个小时前,所有的东西都在工作,我有点高兴,但现在它不能定位按钮,我感谢您的时间和帮助!
编辑:我打印出了谷歌页面源码,我注意到不知怎么的我被检测到了,有什么办法可以解决?
也许你需要直到按钮可以点击为止。
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
wait = WebDriverWait(driver, timeout=30)
wait.until(EC.element_to_be_clickable((By.XPATH, "//a[@id='pnnext']")))
elem = driver.find_element_by_xpath("//a[@id='pnnext']")
elem.click()
备选方案2
尝试将此定位器与wait一起使用:
//a[@id='pnnext' and contains(@href, '/search')]
或者,
//a[@id='pnnext' and contains(@href, '/search')]/span[1]