查找用于单击和查找tex的xpath

2024-04-20 05:44:18 发布

您现在位置:Python中文网/ 问答频道 /正文

Error:NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"//td[@class='C($primaryColor) W(51%)']"} (Session info: chrome=77.0.3865.120)

我的代码如下:

from selenium import webdriver

from selenium.webdriver.common.keys import Keys


driver = webdriver.Chrome('/Users/ryanyee/Desktop/Python Code/Selenium/Launch 
Chrome/chromedriver')
driver.get('https://finance.yahoo.com')
search_box = driver.find_element_by_id('yfin-usr-qry')
search_box.send_keys('GOOG')
search_box.submit()

name = driver.find_element_by_xpath("//td[@class='C($primaryColor) W(51%)']").text()

我的问题是,它抛出了一个错误,当我试图刮文本的名称。你知道吗

另外,我在尝试单击“历史数据”按钮时遇到问题

这是我试图从https://finance.yahoo.com/quote/GOOG?p=GOOG中删除的网站

请让我知道我做错了什么!我被困了好几天了!你知道吗


Tags: fromimportboxsearchdriverseleniumelementkeys
2条回答

尝试在搜索后添加wait语句_框。提交()

from selenium.webdriver.support.ui import WebDriverWait

WebDriverWait(driver, 10).until(
    EC.presence_of_element_located(By.XPATH, "//td[@class='C($primaryColor) W(51%)']"))

提交后需要等待。你知道吗

search_box.submit()

name = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//td[@class='C($primaryColor) W(51%)']"))).text
print(name)

#this is for click Historical Data
driver.find_element_by_link_text("Historical Data").click()

以下导入:

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

相关问题 更多 >