首页 > 解决方案 > SyntaxError:在 Python 中使用 Selenium 使用 find_element_by_xpath 时语法无效

问题描述

代码试验:

from selenium import webdriver
driver = webdriver.Firefox()
driver.get("http://www.niftyindices.com/reports/historical-data")
driver.maximize_window()
driver.find_element_by_xpath("//*[@id="ddlHistorical"]").send_keys("NIFTY 100")

我收到一个错误:

File "<ipython-input-32-592f058980cd>", line 5
    driver.find_element_by_xpath("//*[@id="ddlHistorical"]").send_keys("NIFTY 100")
                                                       ^
SyntaxError: invalid syntax

标签: pythonseleniumselenium-webdriverwebdriversyntax-error

解决方案


此错误消息...

SyntaxError: invalid syntax

...暗示xpath表达式不是有效的xpath 表达式

当您使用双引号xpath"..."时,您需要在单引号内提供属性值,即.'...'

所以你需要改变:

@id="ddlHistorical"

至:

@id='ddlHistorical'

有效的代码行:

driver.find_element_by_xpath("//*[@id="ddlHistorical"]").send_keys("NIFTY 100")

将会:

driver.find_element_by_xpath("//*[@id='ddlHistorical']").send_keys("NIFTY 100")

推荐阅读