python - 如何修复 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()`
解决方案
问题是当您使用 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])
推荐阅读
- c - while 中的动态内存分配
- android - IntelliJ IDEA 数据库插件中缺少“Android SQLite”项目
- c# - 使用 XMLSerializer 将对象序列化为 SOAP 编码的 XML 流
- jquery - 单击按钮转到下一步我想能够获取表格每一行的单元格1和单元格2的文本值并将它们都存储在json列表对象中
- html - 如何使需要的元素(在 html 中)不需要出现(在 css 中)
- php - 更新 Laravel 作曲家后空白页来了
- go - 如何从此请求中获取 POST 值?
- c# - 如何针对不同类型的碰撞执行 CollisionCheck()?
- c# - 当程序集在不同的文件夹中时,“组件没有由 URI 标识的资源”
- javascript - 对象数组到哈希表