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

Python用selenium单击Js链接

夹谷岳
2023-03-14

Iam测试了以下网页:http://www.guiadosliflrinhos.com/todas-capas-disponiveis

我需要在分页信息页导航喜爱。我需要点击链接javascript下一页:

JavaScript:__doPostback('CTL00$MainContent$LSTProfileview$DataPagerNumeric2$CTL02$CTL00')

from selenium import webdriver
import time

driver = webdriver.PhantomJS(executable_path='C:\Python27\Tools\phantomjs\phantomjs.exe')
driver.get("http://www.guiadosquadrinhos.com/todas-capas-disponiveis")
#print(driver.find_elements_by_class_name("numero_capinha")[0].text)
#driver.find_elements_by_class_name("next_last")[0].click()
#time.sleep(5)
print(driver.find_elements_by_class_name("numero_capinha")[0].text)
driver.find_elements_by_class_name("next_last")[0].click()
print(driver.find_elements_by_class_name("numero_capinha")[0].text)

我的代码返回:

Sobreontem-Independente

Traceback(最近调用last):文件“teste_selenium.py”,第10行,在driver.find_elements_by_class_name(“next_last”)中[0].单击()文件“C:\python27\lib\site-packages\selenium\webdriver\remote\webdriver.py”,第74行,在单击self._execute(command.click_element)文件“py”,第201行,在执行self.error_handler.check_response(响应)文件“C:\python27\lib\site-packages\selenium\webdriver\remote\errorhandler.py”中,第181行,在check_response引发exception_class(message,screen,stacktrace)selenium.common.exceptions.elementNotvisibleexception:message:{“errormessage”:“元素当前不可见,可能无法操作”,“request”:{“headers”:{“on/json;charset=utf-8“,”主机“:”127.0.0.1:63160“,”用户-代理“:”python-urllib/2.7“},”httpversion“:”1.1“,”方法“:”post“,”post“:”{\\“sessionid\”:“5d3cfdc0-5d3b-11e5-b784-67706273a0bb\”,\\“id\”:“:wdc:1442494581220\”}“,”URL“:”/click“,”urlparsed“:{”锚点“:”“,”查询“:”“,”文件“:”click“,”、“路径”:“/点击”、“相对”:“/点击”、“端口”:“”、“主机”:“、”密码“:”“、”用户“:”、“用户信息”:“、”授权“:”、“协议”:“、”源“:”/点击“、”查询键“:{}、”块“:”[“点击”]}、“URLOriginal”:“/会话/5D3CFDC0-5D3B-11E5-B784-67706273A0BB/Element/%3AWDC%3A1442494581220/点击”}}截图:通过屏幕提供

什么是问题?

共有1个答案

左翰海
2023-03-14

既然,你正在做以下事情-

driver.find_elements_by_class_name("next_last")[0].click()

如果您在源代码中查找,有多个具有此类名称的元素,并且第一个被禁用,因为这是针对previous按钮的,并且您在第一页上。

 类似资料:
  • 问题内容: 我在Python中使用Selenium尝试单击鼠标悬停在该下拉菜单上时出现的下拉菜单中的链接。这是下拉菜单信息: 我试图单击“ a href”标签中的“文档”链接。当我将鼠标悬停在菜单上时,代码更改如下: 您可以在第二个ul标签中看到“ visible :: hidden”部分消失了。 我使用以下代码在页面上找到了元素: 如果我尝试使用以下方法单击下载按钮: 我收到一个错误,指出该元素

  • 我必须提取表列“付款日期”中提到的每个日期的报告。每个日期都是报告的链接。所以,我一个接一个地点击所有日期以下载报告。 所以,这里的过程是,当我点击一个日期,它将下载该日期的报告。然后,我将单击“下一个日期”以获取该日期的报告。所以,我做了一个for循环来循环所有的链接,并得到所有日期的报告。 但它给了我一个陈旧的元素例外。单击第一个日期后,无法单击下一个日期。我遇到了错误和代码停止。 我该怎么解

  • 我在尝试使用Selenium WebDriver单击超链接时遇到了一个问题。我尝试使用CssSelector和XPath,但似乎都不起作用。我想做的就是点击谷歌文本。

  • 问题内容: svg图标是可单击的。 样例代码: 错误: 没有这样的元素:无法找到元素:{“ method”:“ xpath”,“ selector”:“ // * [@ id =” SearchForm“] / div [1] / span / div [1] / div [2 ] / svg / path“} 问题答案: 要在svg图标上可以使用以下解决方案:

  • 我有一个html链接

  • 问题内容: 我只是想知道,如何让浏览器在单击链接之前等待?我的目标是从动态网页抓取内容,内容是动态的,但我设法获取表单ID。唯一的问题是,提交按钮仅在2-3秒后显示。但是,我的Firefox驱动程序在页面加载后立即开始单击链接(不是动态部分)。 有什么办法可以让我的浏览器等待2-3秒,直到出现提交按钮?我尝试使用它,但是它暂停了所有操作,提交按钮在显示期间没有出现,但是在2-3秒后显示。 问题答案