当前位置: 首页 > 知识库问答 >
问题:

python和selenium代码一小时前还在工作,但现在停止工作

公孙威
2023-03-14

尊敬的社区成员,

所以我在谷歌搜索右下方找到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&amp;biw=801&amp;bih=661&amp;sxsrf=AL eKk015vcO0GNGs89AY8isGkfsRmY5fEw:1619014736075&amp;ei=UDSAYLCMBM- zsAfljLiQBQ&amp;start=30&amp;sa=N&amp;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()

一个小时前,所有的东西都在工作,我有点高兴,但现在它不能定位按钮,我感谢您的时间和帮助!

编辑:我打印出了谷歌页面源码,我注意到不知怎么的我被检测到了,有什么办法可以解决?

共有1个答案

太叔志尚
2023-03-14

也许你需要直到按钮可以点击为止。

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]
 类似资料:
  • 我一直在使用一个异步任务,通过REST API将数据从应用程序发送或提取到数据库,反之亦然。我在我的几个项目(已完成)中使用的代码也是我在其他新项目中使用的代码。我现在创建了一个新项目,工作的异步代码不再取数据了,但是我在以前的项目中粘贴的相同代码,它工作得很好。我有一个新的项目明天开始,我希望我易于使用的代码在新的项目中也能很好地工作。被认为是在清单中添加了INTERNET权限。mainacti

  • 问题内容: 有时,当我调用Selenium FindElements(By)时,它将引发异常,并且驱动程序停止工作。参数“ BY”可能是问题所在:当我使用其他BY搜索相同的元素时,它起作用了。 我也可以看到,即使我的元素存在,或者之前曾调用过带有相同参数的相同方法,也不会阻止该方法引发异常。 我的方法是: 一个BY值的示例并非始终有效(即使它存在于页面中): 例外: WebDriverExcept

  • null GrantPermissionRule是否停止了为其他人所宣传的工作?

  • 我的Visual Studio Code有问题。昨天我在打开VS Code的情况下关闭了我的电脑,当我再次打开电脑时,所有VS Code扩展都停止了工作。我在项目中使用React和Types cript,我真的需要这些扩展。我的eslint和漂亮的配置也停止了工作。如果有人有同样的问题,请回答。

  • 我是计算机视觉新手,还没有真正学习过阈值、模糊或其他过滤器的教程。我使用下面两段代码找出图像中的轮廓。一方面,这种方法是有效的,但另一方面,它不是。我需要帮助理解发生这种情况的原因,以便说服自己背景中发生了什么。 工作代码段: 不工作的代码段 如果有人能找出这里发生的错误的原因,我将不胜感激。 我所面对的错误是: 回溯(最近一次调用last):文件“convexhull.py”,第27行,在im2

  • 问题内容: 我确定我的应用程序一直运行到昨天,直到出现此错误: Failed startup of context com.google.apphosting.utils.jetty.RuntimeAppEngineWebAppContext@1079ff{/,/ base/data/home/apps/s~trewnewmedia/1.357617962256387950} org.spring