我试图从Viagogo的票价没有运气。脚本似乎很简单,并与其他网站,但不是Viagogo的作品。我没有问题,在标题从这里得到的文本。
它总是返回一个空的结果(即[]
)。有人能帮我吗?
代码试验:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
import pandas as pd
s = Service("[]/Downloads/chromedriver/chromedriver.exe")
driver = webdriver.Chrome(service=s)
driver.get('https://www.viagogo.com/Concert-Tickets/Country-and-Folk/Taylor-Swift-Tickets/E-151214704')
price = driver.find_elements(by=By.XPATH, value('//div[@id="clientgridtable"]/div[2]/div/div/div[3]/div/div[1]/span[@class="t-b fs16"]'))
Print(price)
[]
我期待的7个价格定义在右手边的网站位于略高于"每张票"
2条答案
按热度按时间dsekswqp1#
price
的定义中有错误,它应该是value='...'
而不是value('...')
。此外,您应该使用wait命令定义它,以便驱动程序等待价格在页面上显示。请注意,此命令需要以下导入
vnzz0bqm2#
要提取website中右侧定义的所有7个价格,您必须为visibility_of_all_elements_located()导出WebDriverWait,您可以使用以下locator strategies之一:
get_attribute("innerHTML")
*: