首页 > 解决方案 > 如何修复 Python Selenium 中的“in find_element_by_id return self.find_element(by=By.ID, value=id_)”错误

问题描述

我正在通过 Selenium 和 Python 开发一个网络爬虫。当我通过输入每行代码从命令提示符运行它时,它运行良好。但是当我通过该python [program name]方法运行它时,它会返回此错误:

错误信息

我的硒版本不兼容吗?谢谢 :)

这是我的代码:

`from selenium import webdriver
from selenium.webdriver.common.keys import Keys

browser = webdriver.Chrome('C://Users/user1/Portable Python 3.7.0 x64/App/Python/Lib/site-packages/chromedriver')

browser.get('https://tweeterid.com/')
bar = browser.find_element_by_name('twitter')
bar.send_keys('865102744809381888')
bar.send_keys(Keys.ENTER)

out = browser.find_element_by_id('0')
temp = out.text

data = temp.split('=>') #split string into a list

list = []

list.append(data[1])

browser.refresh()`

标签: pythonseleniumweb-scraping

解决方案


问题是当您使用 python 执行代码时,它不会等待回车键并找到 find_element_by_id('0')
添加time.sleep(5)bar.send_keys(Keys.ENTER)

我希望这能解决你的问题

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

import time

browser = webdriver.Chrome('chromedriver.exe')

browser.get('https://tweeterid.com/')
bar = browser.find_element_by_name('twitter')
bar.send_keys('865102744809381888')
bar.send_keys(Keys.ENTER)

time.sleep(5)

out = browser.find_element_by_id('0')
temp = out.text

data = temp.split('=>') #split string into a list

list = []

list.append(data[1])

推荐阅读