python-selenium-点击上升链接
python- selenium- click on arising link
我正在为python和chrome浏览器使用selenium库。
我需要点击网址中的链接:
http://www.youtube-mp3.org/
这个想法是下载一个在以前的代码中转换为mp3文件的视频列表。我的脚本是:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
url2='http://www.youtube-mp3.org/'
chromedriver = 'C:''exp''chromedriver.exe' #where you have the file
browser = webdriver.Chrome(chromedriver)
browser.get(url2)
direc = browser.find_element_by_id("youtube-url")
direc.clear()
direc.send_keys("https://www.youtube.com/watch?v=nYh-n7EOtMA") #an example url
browser.find_element_by_id("btns").click()
在此之前一切正常。
现在我需要按下视频转换后出现的下载链接。
该部分的html是:
<div id="dl_link" style="display: block;">
<a href="/get?video_id=nYh-n7EOtMA&h=-1&r=-1.1" style="display:none"><b>Download</b></a>
<a href="/get?video_id=nYh-n7EOtMA&ts_create=1463533555&r=MTg2LjYwLjE2MS4yMTE%3D&h2=5ad90182ae65fea567f844c3b6a933aa&s=145334"><b>Download</b></a><a href="/get?video_id=nYh-n7EOtMA&h=-1&r=-1.1" style="display:none">
<b>Download</b>
</a></div>
但我只能在选择"检查对象"时才能看到它,因为如果我选择"查看源代码"(在我粘贴url并显示视频和链接之后),里面什么都没有。
我尝试过:
browser.find_element_by_partial_link_text("create").click()
但我有一个错误:
NoSuchElementException:消息:没有这样的元素
以及:
browser.find_element_by_name("dl_link").click()
错误:
NoSuchElementException:消息:没有这样的元素:找不到元素:{"方法":"名称","选择器":"dl_link"}
以及:
browser.find_element_by_id("dl_link").click()
得到:
ElementNotVisibleException:消息:元素不可见
所以,我的问题是:
- 为什么当我按查看源代码
- 可以用完成这个过程(下载mp3文件)吗蟒蛇
- 网页中有java脚本这一事实与这个问题有关吗
- 有其他图书馆可以做这件事吗
谢谢。
为什么元素出现在inspect函数中而不出现在源代码中
HTML元素可以由某种脚本(例如Javascript、VBScript…)自动生成,也可以从AJAX接收。源代码包含文本格式的响应,这意味着没有脚本可以运行。另一方面,浏览器的检查功能显示当前状态
您可以做些什么来缩小问题范围:
-
在浏览器中访问页面并关闭Javascript。如果元素现在不存在,您可以放心地假设Javascript插入了有问题的元素。
-
如果出现上述文本,请重新打开javascript并在开发人员工具中显示网络选项卡。重新加载页面并查看请求的资源。检查是否可以在其中找到任何AJAX/API请求。如果是这样,请检查它们是如何制作的,并尝试复制它们。
-
如果找不到任何AJAX/API调用,则元素将以不同的方式生成。检查脚本文件的源代码(html标记),并检查里面的代码以获取更多信息。
我不知道有任何库可以在这里帮助你(虽然可能有一两个,但我不太编写Python代码),但肯定有可能获得你需要的内容(可能有点棘手,取决于网站所有者尝试的次数
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 如何使用jQuery自动打开页面上的所有链接
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- jquery动画可以通过编程链接吗
- python-selenium-点击上升链接
- 从 python 渲染 HTML 在 web2py 中的字符串,生成@usename链接 python
- 创建一个超链接(或按钮),用于执行 python 脚本,然后在脚本完成时重定向
- 如何使用 Python 和 Selenium 获取链接的点击“操作”
- 如何使用python获取javascript链接的url
- 跟随 javascript 链接与 mechanize 和 python
- Selenium,python,定期点击javascript链接
- 使用Python在链接的href中执行JavaScript
- 机械化开放javascript链接python
- Python和Selenium:What'这是访问Javascript构建的下拉菜单中隐藏的链接的好方法
- 如何使用python selenium点击angularjs链接
- Python:从javascript按钮获取下载链接
- Python处理如何与Meteor链接
- 在Selenium, Python中计算点击次数并返回被点击链接的浏览器url
- 不是所有的链接都触发AJAX调用,只有第一个在Python Flask Application中触发AJAX调用
- 机械化和Python,点击href="javascript:void(0);"链接并获得响应