首页 新闻 会员 周边 捐助

Python+selenium,页面源码已有元素但是无法定位,请问是什么原因。

0
悬赏园豆:15 [待解决问题]

def VisitNationHtml():
try:
#browser = webdriver.Chrome()
browser.get('https://www.w3school.com.cn/tiy/t.asp?f=html_form_text')
with open('VisitNationHtml.txt','w',encoding='utf-8') as file:
file.write(browser.page_source)

    wait = WebDriverWait(browser,10)
    wait.until(EC.visibility_of_element_located((By.XPATH,"//input[@name='firstname']")))

    js = 'document.querySelector("input[name=\'firstname\']").setAttribute("type","file")'
    browser.execute_script(js)
finally:
    pass
forxtz的主页 forxtz | 初学一级 | 园豆:189
提问于:2019-08-02 00:05
< >
分享
所有回答(5)
0

 如果代码没错就是时序问题。比如说你取的时候该dom还没创建。

花飘水流兮 | 园豆:13617 (专家六级) | 2019-08-02 00:15
0

可能是因为在iframe框架里。查下文档看解决方法吧。

墨镜带佬星 | 园豆:2310 (老鸟四级) | 2019-08-02 09:22
0

1.网络不稳定 尚未加载 用time.sleep()试试
2.不同一框架 用switch_to.frame()切换框架
3.不在同一窗口 用switch_to.window()切换
4.动态ID
5.元素不可见
。。。

胜者万里也称王 | 园豆:247 (菜鸟二级) | 2019-10-18 17:06
0

报错信息贴出来,不然只能猜

叶先生啊 | 园豆:206 (菜鸟二级) | 2020-12-14 16:32
0

这,才发现还有这么个提问,回头看,应该就是frame没有切换。

forxtz | 园豆:189 (初学一级) | 2020-12-14 20:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册