highcharts 页面未找到

ohtdti5x  于 2022-11-11  发布在  Highcharts
关注(0)|答案(1)|浏览(138)

我是一个编程新手,一直在尝试使用Selenium。
我想从URL“www.example.com“下载一个XLS文件https://steamdb.info/tech/Engine/Unity/。
每当我试图在下载按钮上查找元素时,它都会返回

"selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id='highcharts-0tuszdg-0']/svg/g[6]/g/image"}
  (Session info: chrome=98.0.4758.102)"

我想点击这个元素,它会打开一个Download XLS按钮,然后点击这个按钮来下载XLS。
这是我一直在使用的代码:

ser = Service('C:\\Users\\Admin\\Documents\\Drivers\\chromedriver.exe')
op = webdriver.ChromeOptions()
s = webdriver.Chrome(service=ser, options=op)

# implicit wait

s.implicitly_wait(0.5)

# maximize browser

s.maximize_window()

# launch URL

s.get("https://steamdb.info/tech/Engine/Unity/")
s.implicitly_wait(0.5)
s.find_element_by_xpath("//*[@id='highcharts-0tuszdg-0']/svg/g[6]/g/image")
s.implicitly_wait(0.5)
l =s.find_element_by_xpath('//*[@id="highcharts-0tuszdg-0"]/div/ul/li[2]')

# perform click

l.click()

我意识到我对这件事很陌生,可能做错了各种事情。希望你能引导我走上正确的方向。
谢谢!CIS

yyhrrdl8

yyhrrdl81#

options = Options()
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()),options=options)
driver.maximize_window()
wait=WebDriverWait(driver,10)
driver.get("https://steamdb.info/tech/Engine/Unity/")
wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR,"svg > g.highcharts-exporting-group > g > image"))).click()
wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR,"ul.highcharts-menu > li:nth-child(2)"))).click()

如果你想使用选项与服务,你应该这样做,所以我用Chromedriver管理器,以确保二进制文件是正确的设置。从那里,你需要等待的元素是可点击的使用Webdriver等待,然后点击这些元素。
1.隐式等待用于页面加载,而不是元素查找,因此使用显式等待。
1.铬选项与驱动程序沿着折旧。find_element_by_*。
1.选择了不正确的xpath。
汇入:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait 
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.chrome.options import Options
from webdriver_manager.chrome import ChromeDriverManager

相关问题