Heyo!
我必须使用Selenium从公司网站下载文件,并且最后一步陷入困境:
当我在网站上按Ctrl + U时,代码只包含基本标签,而有些标签是空的:
<div ng-show="viewContainer === 'PUC'"
class="ng-app-element deny-animation-change" animate="fade"
id="pucWrapper" cellspacing="0" cellpadding="0" style="width: 100%; height: 100%;">
<div id="pucHeader" cellspacing="0" cellpadding="0">
<div id="pucMenuBar"></div>
<div id="pucPerspectives"></div>
<div id="pucToolBar"></div>
<div id="pucUserDropDown"></div>
</div>
<div id="pucContent"></div>
</div>
但是当我通过Chrome开发工具选择并检查元素时
它说<div id="pucContent">
中有很多标签,如何找到Selenium的“隐形”<select>
标签?
以下代码以NoSuchElementException
WebDriverWait(browser, 20).until(EC.visibility_of_element_located((By.ID, 'pucContent'))).find_element_by_tag_name('select')
我猜javascript会在<div id="pucContent">
标记
答案 0 :(得分:0)
我的猜测是`likes': undefined method `split' for []:Array (NoMethodError)
from `block in
'
from `block in describe'
from `measure'
from `describe'
from `
'
在开头就存在,并在页面加载后填充。所以你在等待中真正需要等待的是内在的东西。如果您在检查时在elemeint中有<div id="pucContent"></div>
,请尝试这样等待:
<select>
请记住,网页的“page_source”只是在请求文档时传递的内容,它不会包含在加载原始文档后动态加载的任何内容。