Я начал с Selenium Webdriver и пытался открыть google.com, а затем нажать кнопку «Поиск в Google». Я получил элемент кнопки, используя chropath
, а ниже мой код
from selenium import webdriver
b = webdriver.Chrome()
b.get("http://google.com")
c = b.find_element_by_name("btnk")
c.click()
Получение ошибки как
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"[name="btnk"]"}
(Session info: chrome=81.0.4044.138)
Скриншот chropath
Изменить:
Ниже приведен код для нажатия на «Мне повезет»
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium import webdriver
import time
b = webdriver.Chrome()
b.get("http://google.com")
timeout = 3
try:
element_present = EC.presence_of_element_located((By.XPATH, "//div[@class='FPdoLc tfB0Bf']//input[@name='btnI']"))
WebDriverWait(b, timeout).until(element_present)
c = b.find_elements_by_xpath("//div[@class='FPdoLc tfB0Bf']//input[@name='btnI']")
print("Value of c ", c)
for i in c:
print (i)
c[0].click()
except TimeoutException:
print("Timed out")
Это работает, но почему c
- это список .