首页 > 解决方案 > pyhon中selenium的send_keys不起作用

问题描述

我正在使用 python3,并想使用 python 包 selenium 在 Instagram 中发送消息。该代码以前工作得很好。今天大多数时候 send_keys() 不起作用。我增加了 sleep() 时间以确保这不是网速问题。仍然,它不起作用。任何想法?或任何其他在框中发送文本的方法(我使用的是 python)?

这是代码:

           webdriver.get('https://www.instagram.com/explore/tags/'+ hashtag_list[tag] + '/')
            sleep(5)
            check='//*[@id="react-root"]/section/main/article/div[2]/div/div[%d]/div[%d]/a/div' %(i,x)
            sleep(10)   
    #'//*[@id=\"react-root\"]/section/main/article/div[1]/div/div/div[1]/div[%s]/a/div' % (x)
            first_thumbnail = webdriver.find_element_by_xpath(check)
            first_thumbnail.click()
            sleep(10)
            webdriver.find_element_by_xpath('/html/body/div[3]/div[2]/div/article/div[2]/section[1]/span[2]/button/span').click()
            sleep(10)
            comment_box = webdriver.find_element_by_xpath('/html/body/div[3]/div[2]/div/article/div[2]/section[3]/div/form/textarea')
            sleep(20)
            comment_box.send_keys("Hi")  # this line does not work
            sleep(10)
            webdriver.find_element_by_xpath('/html/body/div[3]/div[2]/div/article/div[2]/section[3]/div/form/button').click()
            sleep(10)
        except:
            print("Oops!")
            sleep(10)
            continue

标签: pythonseleniumsendkeys

解决方案


您是否通过打印检查以确保 comment_box 实际上是一个有效的网络元素?只是为了确保选择器是正确的?因为它应该正常工作,但也许 Instagram 正在以某种方式阻止它。


推荐阅读