Щелчок селена не работает в Chrome
Я пытаюсь нажать на якорный тег на странице Instagram, который говорит, что войдите. Вот мой код.
browser = webdriver.Chrome()
browser.get('https://instagram.com')
login_elem = browser.findElement(By.xpath('//p/a[text() = "Log in"'))
login_elem.click()
Браузер открывается, но элемент не нажимается. Я пробовал различные другие xpaths и ни один не работал. Вот изображение для источника Instagram.
3 ответа
Решение
Это то, что я попробовал на моей локальной системе, и это сработало
from selenium.webdriver.common.by import By
from selenium import webdriver
driver = webdriver.Chrome(executable_path="D:\\cs\\chromedriver.exe")
driver.get("https://www.instagram.com/")
a=driver.find_element(By.XPATH,'//a[text() = "Log in"]')
# added this step for compatibility of scrolling to the view
driver.execute_script("return arguments[0].scrollIntoView();", a)
a.click()
Исправлен XPATH и другие изменения. Обратите внимание, что путь к исполняемому файлу должен быть заменен вашим путем.
Вы можете использовать ниже Xpath
.//*[@id='react-root']/section/main/article/div[2]/div[2]/p/a
или селектор CSS
.izU2O>a
или текст ссылки
Log in
Попробуйте этот код:
element = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.PARTIAL_LINK_TEXT, "Log in")))
element.click()