Как исправить ошибку 'find_element_by_id return self.find_element (by = By.ID, value = id_)' в Python Selenium - PullRequest
0 голосов
/ 15 апреля 2019

Я разрабатываю webscrapper через 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()`

1 Ответ

0 голосов
/ 15 апреля 2019

Проблема в том, что когда вы выполняете код, используя 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])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...