Возникли проблемы при нажатии элемента с помощью Selenium - PullRequest
1 голос
/ 24 апреля 2020

Я работаю над программой, которая будет торговать акциями для меня в будущем. После входа в систему я столкнулся с некоторыми проблемами, набирая символы акции, и теперь мне нужно каким-то образом щелкнуть, чтобы иметь возможность go купить акции. Я уверен, что знаю, как сделать клик с селеном, но это меня обманывает. Я предоставлю полный код, если кто-то захочет попробовать программу самостоятельно, просто измените путь к браузеру! Учетная запись подделка, так что не волнуйтесь.

Код:

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

 browser = webdriver.Chrome('/Users/larskvist/downloads/chromedriver')
 browser.get('https://www.forex.com/en-uk/account-login/')

 username_elem = browser.find_element_by_name('Username')
 username_elem.send_keys('kebababdulaziz@gmail.com')

 password_elem = browser.find_element_by_name('Password')
 password_elem.send_keys('KEbababdulaziz')
 password_elem.send_keys(Keys.ENTER)

 time.sleep(5)

 search_elem = WebDriverWait(browser, 20).until(EC.element_to_be_clickable(
(By.CSS_SELECTOR, "input.market-search__search-input")))
search_elem.click()
search_elem.send_keys('FB')

time.sleep(2)

search_click_elem = WebDriverWait(browser, 20).until(
EC.element_to_be_clickable((By.XPATH, "//app-market-table[@class='search-results-element ng- 
star-inserted']//div[@class='price--buy clickable-price arrows-flashing']")))
search_click_elem.click

IMG показывает, что я хочу щелкнуть, при нажатии вручную появляется всплывающая опция покупки.

Заранее спасибо!

enter image description here

1 Ответ

1 голос
/ 24 апреля 2020

Похоже, webdriver щелчок не работает.

Стимулирование JS executor нажатия.

search_click_elem = WebDriverWait(browser, 20).until(EC.element_to_be_clickable((By.XPATH, "//app-market-table[@class='search-results-element ng-star-inserted']//div[@class='price--buy clickable-price arrows-flashing']")))
browser.execute_script("arguments[0].click();", search_click_elem)

Снимок браузера:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...