首页 > 解决方案 > 有一个特殊的网页找不到任何元素

问题描述

该网站是https://www.gaitame.com/bo/demo.html

中间有一个带有日语“デモトレード版を利用する”的按钮

然后将转到这样的演示交易者页面

在此页面中,我无法获取任何元素

其他页面都可以

我已经切换到这个标签

请帮忙.............

这是我的测试代码

from selenium import webdriver
import time
url = 'https://www.gaitame.com/bo/demo.html'
driver = webdriver.Chrome()
driver.get(url)
# Click the button and wait for loading
driver.find_element_by_class_name("blue2btn").click()
time.sleep(5)
# Switch to another tab
driver.switch_to.window(driver.window_handles[1])
# Try find any elements
driver.find_elements_by_class_name("header_area")

这是错误消息

Traceback (most recent call last):
  File "C:\ProgramData\Anaconda3\lib\site-packages\IPython\core\interactiveshell.py", line 2963, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-2-ed6cc8fa6e76>", line 14, in <module>
    driver.find_elements_by_class_name("header_area")
  File "C:\ProgramData\Anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 580, in find_elements_by_class_name
    return self.find_elements(by=By.CLASS_NAME, value=name)
  File "C:\ProgramData\Anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 1007, in find_elements
    'value': value})['value'] or []
  File "C:\ProgramData\Anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "C:\ProgramData\Anaconda3\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.InvalidArgumentException: Message: invalid argument: Unsupported locator strategy: null
  (Session info: chrome=80.0.3987.132)

标签: pythonseleniumselenium-webdriver

解决方案


这是一个新引入的Chromedriver 错误

尝试使用旧版 Chrome 或其他浏览器。我刚刚在 Firefox 73 中尝试了您的代码并且它有效。

希望这会有所帮助,祝你好运!


推荐阅读