在此页面(或任何其他单选投票)上,您需要单击一个“投票”按钮。
首先,您需要选择第一个答案选项以使按钮可用:
driver.find_element_by_css_selector('.l_IR7').click()
有用。
之后我按下按钮,但没有任何反应。
driver.find_element_by_css_selector('._C7zL').click()
我试图通过 接收xpath,结果出现错误:
driver.find_element_by_xpath('/html/body/div[2]/div[3]/div/div[2]/div/div[2]/div[1]/div/div/div[3]/div[4]/div/div/a/div').click()
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"/html/body/div[2]/div[3]/div/div[2]/div/div[2]/div[1]/div/div/div[3]/div[4]/div/div/a/div"}
我还尝试设置延迟并等待selenium,以防按钮可能暂时不可见。但它没有给出结果。
编码:
from selenium import webdriver
import pickle
# сохранить cookie
def save_cookies():
input('\n\nНажмите Enter если можно сохранять куки\n\n')
pickle.dump(driver.get_cookies(), open("cookies.pkl","wb"))
options = webdriver.ChromeOptions()
options.add_argument("start-maximized")
options.add_experimental_option("useAutomationExtension", False)
options.add_experimental_option("excludeSwitches", ["enable-automation"])
driver = webdriver.Chrome(executable_path='chromedriver.exe', chrome_options=options)
driver.get('https://otvet.mail.ru/question/228411992')
# раскомментировать строку ниже, чтобы сохранить cookie (нужно нажать enter в консоли после авторизации)
# save_cookies()
# загрузка cookie
cookies = pickle.load(open("cookies.pkl", "rb"))
for cookie in cookies:
driver.add_cookie(cookie)
driver.refresh()
# выбор первого варианта голосования
driver.find_element_by_css_selector('.l_IR7').click()
driver.find_element_by_xpath('/html/body/div[2]/div[3]/div/div[2]/div/div[2]/div[1]/div/div/div[3]/div[4]/div/div/a/div').click()
这可能是什么原因以及如何单击此按钮?

问题是
._C7zL大约有 10 个元素带有标题,并且按钮位于 index2,因此这种情况的解决方案如下所示: