Селен - значение «Нет» от элемента - PullRequest
1 голос
/ 28 апреля 2020

Я не хочу получать стоимость или цену акции с торгового сайта. Проблема в том, что когда я использую метод атрибута .get, как это:

.get_attribute('')

, я не могу найти что-то, что можно поставить между '', которое даст мне значение stock

Вот изображение линии при использовании inspect: enter image description here

<span _ngcontent-c31="" class="price__value" style="" xpath="1"> 187.510 </span>

Ниже приведен код, который я делал для этого:

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/ludvighenriksen/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')

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)

price_elem = browser.find_element_by_css_selector("div.mercury:nth-child(2) div.mercury__body:nth-child(4) div.mercury__body-content-container app-workspace.ng-star-inserted:nth-child(3) div.panel-container:nth-child(1) app-workspace-panel.active.ng-star-inserted div.workspace-panel-content.workspace-panel-content--no-scroll-vertical.workspace-panel-content--no-scroll-horizontal.workspace-panel-content--auto-size div.workspace-panel-content__component.workspace-panel-content__component--auto-size app-deal-ticket.ng-star-inserted form.ticket-form.ng-untouched.ng-pristine.ng-invalid.ng-star-inserted div.market-prices app-market-prices.main-prices.ng-untouched.ng-pristine.ng-valid div.market-prices div.market-prices__direction label.buy.selected span.price.ng-star-inserted:nth-child(2) > span.price__value")
price_value = price_elem.get_attribute('value')
print(price_value)

('Значение') не работает, что, я думаю, имеет смысл, но я думаю, что перепробовал все, что мог придумать - и ничего не печатает. Вход на сайт включен, если вы хотите попробовать, спасибо в Advance

1 Ответ

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

Если вы хотите получить доступ к содержимому какого-либо тега, вы можете использовать опцию .text.

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