Как я могу исправить свой код селена с ошибкой исключения тайм-аута? - PullRequest
0 голосов
/ 19 сентября 2019

Я пытаюсь сделать сценарий селена на python, который показывает, сколько отзывов у продавца на bol.com.Каждый раз я получаю ошибку selenium.common.exceptions.TimeoutException: Message:.Вот мой код:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.Firefox()
driver.get("https://www.bol.com/nl/v/looliving-nl/1146429/")
reviews = WebDriverWait(driver,30).until(EC.visibility_of_element_located((By.XPATH,"//div[@class='media_body'/following::p"))).text
print(reviews)

Как мне исправить мой скрипт?

Ответы [ 2 ]

0 голосов
/ 19 сентября 2019

Неверное выражение: //div[@class='media_body'/following::p.

Вы можете использовать это xpath: //div[@class='media__body']//p

reviews = WebDriverWait(driver,30).until(EC.visibility_of_element_located((By.XPATH,"//div[@class='media__body']//p"))).text
print(reviews)

Консольный вывод:

Totaal aantal beoordelingen: 6
0 голосов
/ 19 сентября 2019

Вы пробовали requests и lxml?Это может решить вашу проблему ... но, как упомянул Грег, это зависит от источника на сайте.

import requests
from lxml import html

page = requests.get("https://www.bol.com/nl/v/looliving-nl/1146429/")
tree = html.fromstring(page.content)

reviews = tree.xpath("//div[@class='media_body'/following::p") 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...