【问题标题】:How do I execute a JavaScript code in python using selenium?如何使用 selenium 在 python 中执行 JavaScript 代码?
【发布时间】:2021-01-27 22:57:34
【问题描述】:

我尝试使用这些通过 selenium 提取一些信息:

from selenium import webdriver  # $ pip install selenium
from selenium.webdriver.chrome.options import Options

path = 'C:/Users/Жираслан/Downloads/chromedriver_win32 (1)/chromedriver.exe'
wd = webdriver.Chrome(executable_path=path)
result = wd.find_element_by_class_name('wrapper__top_3UDaE')

当网页元素中的代码是:

<div class="wrapper__top_3UDaE">
    <h3>Лидерборд</h3>
    <span class="wrapper__description_nfMmy">...</span>
</div>

之后

result = wd.find_element_by_class_name('wrapper__top_3UDaE')
result

我得到下一个错误:

Message: no such element: Unable to locate element: {"method":"css selector","selector":".wrapper__top_3UDaE"}
  (Session info: chrome=86.0.4240.75)

请给我一个关于如何正确实现它的提示。谢谢。

【问题讨论】:

  • 这个类名是唯一的并且只返回一个元素吗? wrapper__top_3UDaE
  • 它必须是这样,但无论如何它会返回一个数组
  • 检查元素是否在 iframe 内。
  • 不,它不是唯一的

标签: javascript python selenium parsing html-parsing


【解决方案1】:

在你的例子中,你给我们HTML代码div

<div class="wrapper__top_3UDaE">
    <h3>Лидерборд</h3>
    <span class="wrapper__description_nfMmy">...</span>
</div>

要获取您的元素,您将需要以下导入

from selenium import webdriver
from selenium.webdriver.common.by import By

那么,你可以使用这个xpath

//div[@class='wrapper__top_3UDaE']

你应该能够得到你的元素

wd = webdriver.Chrome(executable_path=path)
result = wd.find_element(By.XPATH, "//div[@class='wrapper__top_3UDaE']")

如果你的div 是一个按钮,你可以点击你的元素

wd = webdriver.Chrome(executable_path=path)
result = wd.find_element(By.XPATH, "//div[@class='wrapper__top_3UDaE']")
result.click()

【讨论】:

  • 你知道,我明白了,但它不能这样工作。我有一些关于等待的信息。现在我需要找到所有具有这样一个 XPath 的元素:'//span[@class="wrapper__top_3ztMC"]。我使用: from selenium.webdriver.support.ui import WebDriverWait element = WebDriverWait(driver, 50).until( EC.presence_of_element_located((By.CLASS_NAME, "wrapper__top_3ztMC")) ) and these 只返回第一个元素,但有很多
  • 你可以使用 elements = WebDriverWait(driver, 50).until( EC.presence_of_all_elements_located((By.CLASS_NAME, "wrapper__top_3ztMC")))
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-11-12
  • 1970-01-01
  • 2012-12-14
  • 2016-12-02
  • 1970-01-01
  • 2014-07-17
  • 2021-12-23
相关资源
最近更新 更多