这个错误出现的原因是在使用 Selenium WebDriver 的时候,传递了多个参数到 find_element() 方法中,并且存在位置参数跟关键字参数混合使用的情况。
原代码
driver.find_element(by=By.ID, "kw").send_keys("耳机")
按照语法规则,关键字参数必须放在位置参数之后,因此会抛出 “SyntaxError: positional argument follows keyword argument” 异常。
要解决这个问题,可以把 ID 参数从位置参数移到关键字参数中。修改代码为:
driver.find_element(by=By.ID, value="kw").send_keys("耳机")
或者使用关键字参数模式:
driver.find_element(By.ID, "kw").send_keys("耳机")
其中,“by=" 和“value=" 都是关键字参数,相当于对应 find_element() 方法中定义的 by、value 两个参数。