如何使用selenium Python访问inside<main>标记?

2024-04-24 09:03:53 发布

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

我正在使用Python 2.7.12和{}。在

{I>想在这里找到标记^中的代码:

driver = webdriver.Chrome()
driver.get("https://www.semanticscholar.org/")
input_t = driver.find_element_by_xpath('//input[@type="search"]')
input_t.send_keys(keyword)
input_t.send_keys(Keys.ENTER)
target = driver.find_element_by_xpath('//main')

运行这个时,我有一个例外:

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//main"}

但实际上,页面中确实有一个标记:

^{pr2}$

Tags: 代码https标记sendinputgetbymain
1条回答
网友
1楼 · 发布于 2024-04-24 09:03:53

只是时间问题。您应该尝试使用^{}等待main标记加载并在单击搜索按钮后可见,如下所示:

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

driver = webdriver.Chrome()
driver.get("https://www.semanticscholar.org/")

#Now enter text to search
driver.find_element_by_name("q").send_keys(keyword)

#Now click on search button
driver.find_element_by_css_selector(".search-bar .button").click()

#Now wait until main tag visible
target = WebDriverWait(driver, 30).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "main.main-column.results")))

相关问题 更多 >