我是一个编程新手,一直在尝试使用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
1条答案
按热度按时间yyhrrdl81#
如果你想使用选项与服务,你应该这样做,所以我用Chromedriver管理器,以确保二进制文件是正确的设置。从那里,你需要等待的元素是可点击的使用Webdriver等待,然后点击这些元素。
1.隐式等待用于页面加载,而不是元素查找,因此使用显式等待。
1.铬选项与驱动程序沿着折旧。find_element_by_*。
1.选择了不正确的xpath。
汇入: