Selenium python滑块bouton元素不可见异常

2024-09-27 17:57:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图写一个解析器来点击一个网站上的按钮,但我不能点击其中的两个按钮。你知道吗

我想点击“Elija el imports a financiar”和“Elija la mensualidad”

下面是html:https://www.cofidis.es/es/creditos-prestamos/prestamo-personal.html

python代码:

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')
chrome_options.add_argument('--start-maximized')
webdriver = webdriver.Chrome('chromedriver',chrome_options=chrome_options)
url = "https://www.cofidis.es/es/creditos-prestamos/prestamo-personal.html"

webdriver.get(url)
targetSliderStep = 6.000
targetSliderStep = round(targetSliderStep  * 2) / 2  # to ensure is units covered by clicking
print('target: ' + "{0:.3f}".format(targetSliderStep))
webdriver.find_element_by_xpath('//*[@id="btncerrar"]').click()
actualSliderStep = float(webdriver.find_element_by_id('I2:simuPanel.O').text.replace(' €',''))
print(actualSliderStep)
webdriver.find_element_by_xpath('//*[@id="I2:simuPanel.mensMoreId"]').click()
webdriver.find_element_by_xpath('//*[@id="I2:simuPanel.mensLessId"]').click()
print(actualSliderStep)

webdriver.find_element_by_xpath('//*[@id="I2:simuPanel.mensMoreId"]').click()
webdriver.find_element_by_xpath('//*[@id="I2:simuPanel.mensLessId"]').click()

print(webdriver.find_element_by_id('I2:simuPanel.O7').text)
webdriver.find_element_by_xpath('//*[@id="I2:simuPanel.durMoreId"]').click()
webdriver.find_element_by_xpath('//*[@id="I2:simuPanel.durLessId"]').click()
print(webdriver.find_element_by_id('I2:simuPanel.O7').text)

我得到这个错误。你知道吗

ElementNotVisibleException: Message: element not interactable

Tags: addidbyeselementfindchromeargument
1条回答
网友
1楼 · 发布于 2024-09-27 17:57:46

我可以看到你的Xpath是没错,但是它是不可交互的。 请尝试actionchain它应该可以工作。当您在chrome选项下面添加此选项时,代码将与headless一起工作。你知道吗

chrome_options.add_argument('window-size=2560x1440')

而不是这个

webdriver.find_element_by_xpath('//*[@id="I2:simuPanel.mensMoreId"]').click()

请试一试

 el=webdriver.find_element_by_xpath('//*[@id="I2:simuPanel.amountMoreId"]')
   ActionChains(webdriver).move_to_element(el).click(el).perform()

这样,更改所有4个幻灯片按钮单击选择。让我知道这样行不行。你知道吗

相关问题 更多 >

    热门问题