python+selenium抓取不到文本

抓取内容:

img

抓取代码:
dr.find_element('xpath', '//*[@class="uni-input-input"]').text

抓取结果:
为空

疑问:
为什么页面上明明能看到5,却获取不到呢

这是input输入框,不是文本标签,怎么可能获取的到?

这个5是不是js动态生成的呀,还是自己手动输入的。
如果你想动态获取这个txt里面的内容的话,你可以试试这个函数execute_script()方法。或者你可以查一下有其他方法也能动态获取这个文本框的内容。


如果以上回答对您有所帮助,点击一下采纳该答案~谢谢

input是表单元素,不能用.text获取,你可以用 get_attribute('value')试试

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7545984
  • 你也可以参考下这篇文章:Python+Selenium获取表格中某一列元素文本内容时返回为空的一种解决办法
  • 您还可以看一下 熊悦老师的Python+selenium的基本操作课程中的 我的第一个自动化代码小节, 巩固相关知识点
  • 除此之外, 这篇博客: python-selenium-网页元素定位作业练习中的 练习2:针对上面的案例,我们只要选中复选框,针对单选框不做选中的操作,该如何实现? 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

    思路:同练习1 

    这次需要找出复选框和单选框的不同之处

    可以看到复选框的type是checkbox,单选框的type是radio

    那么只需要使用xpath选出type是checkbox的元素组即可

    示例代码

    import time
    from selenium import webdriver
    
    #练习2
    driver = webdriver.Chrome()
    driver.get("file:///Users/dolphin/Documents/学习培训/python自动化/demo/file1.html")
    
    # 这里使用xpath 或者css_selector 都可以
    controls = driver.find_elements_by_xpath('//*[@type="checkbox"]')
    #controls = driver.find_elements_by_css_selector('[type="checkbox"]')
    
    for ele in controls:
        ele.click()
        time.sleep(1)
    
    driver.quit()

     


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^