кнопка отправки не работает в python селен - PullRequest
0 голосов
/ 04 февраля 2020

Я пытаюсь автоматизировать какой-то процесс, хотя я не могу отправить кнопку в python селене, эта проблема только для этого указанного c URL (https://sitereview.bluecoat.com/# / )

from selenium import webdriver

driver = webdriver.Chrome('F:\web driver\chromedriver')
driver.get('https://sitereview.bluecoat.com/#/')

search_box = driver.find_element_by_id("txtSearch")

search_box.send_keys("facebook.com")
search_box.submit()

Ответы [ 3 ]

0 голосов
/ 04 февраля 2020

Попробуйте click с веб-драйвером wait, чтобы элемент был clickable, чтобы элемент мог получить click.

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

element = WebDriverWait(driver, 40).until(
EC.visibility_of_element_located((By.ID, "txtSearch")))

element.send_keys("facebook.com")

button= WebDriverWait(driver, 40).until(
EC.element_to_be_clickable((By.ID, "btnLookupSubmit")))
button.click()

ИЛИ (попробуйте щелкнуть с помощью Java сценарий, но без ожидания, так как это может быть сбой при ожидании, не рекомендуется, но работает)

 element = WebDriverWait(driver, 40).until(
    EC.visibility_of_element_located((By.ID, "txtSearch")))
 element.send_keys("facebook.com") 
    button= driver.find_element(By.ID, "btnLookupSubmit")

    driver.execute_script("arguments[0].click();", button)
0 голосов
/ 04 февраля 2020

Попробуйте использовать класс действий

    submitButton = driver.find_element(By.ID, "btnLookupSubmit")
    actions = ActionChains(driver)
    actions.move_to_element(submitButton)
    actions.click(submitButton)
    actions.perform()
0 голосов
/ 04 февраля 2020

Вы можете отправить родительский элемент поля поиска.

driver.find_element_by_id('searchform').submit()

Поскольку загрузка страницы занимает некоторое время, добавьте явное ожидание загрузки страницы и возможность отправки формы после вставки текста.

from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as ec
from selenium.webdriver.support.ui import WebDriverWait

driver = webdriver.Chrome('F:\web driver\chromedriver')
driver.get('https://sitereview.bluecoat.com/#/')

wait = WebDriverWait(driver, 10)
wait.until(ec.visibility_of_element_located((By.ID, 'txtSearch'))).send_keys("facebook.com")
wait.until(ec.element_to_be_clickable((By.CSS_SELECTOR, '#btnLookupSubmit:not([disabled])'))).submit()
# or
wait.until(ec.element_to_be_clickable((By.CSS_SELECTOR, '#btnLookupSubmit:not([disabled])'))).click()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...