*跟进** 我正在尝试使用 Selenium 在网站框中输入一个整数,但我在 send_keys 上遇到了无效的语法错误

Posted

技术标签:

【中文标题】*跟进** 我正在尝试使用 Selenium 在网站框中输入一个整数,但我在 send_keys 上遇到了无效的语法错误【英文标题】:*Follow up** I'm trying to input an integer into a website box using Selenium and I'm getting an invalid syntax error on the send_keys 【发布时间】:2022-01-19 06:05:23 【问题描述】:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

#adds geckodriver script as selenium doesn't directly work with geckodiver anymore
ff = "C:\Python36\geckodriver-v0.30.0-win64\geckodriver.exe"

#opens website
browser = webdriver.Firefox(executable_path=ff)
browser.get('https://www.cookcountytreasurer.com/setsearchparameters.aspx')
wait = WebDriverWait(browser,30)

#PINs into website
elementID1 = wait.until(EC.element_to_be_clickable((By.XPATH("//input[@id='ContentPlaceHolder1_ASPxPanel1_SearchByPIN1_txtPIN1']")))
elementID1.send_keys("17")

然后 cmd 提示符会显示以下内容:

File "<stdin>", line2
    elementID1.send_keys("17")
    ^
SyntaxError: invalid syntax

我不确定是什么导致了语法错误。进一步的帮助表示赞赏。我根据对原始问题的有用回复修复了原始代码中的问题,但我仍然在发送键上遇到语法错误。

【问题讨论】:

如果这是您正在运行的确切代码,您应该将findelement 更改为find_element。此外,您的 xpath 似乎没有在检查中显示任何元素 还有,应该是By.XPATH 括号语法也不正确,包括@BibekjitSingh 建议的所有内容应该是browser.find_element(By.XPATH("//[@id='ContentPlaceHolder1_ASPxPanel1_SearchByPIN1_txtPIN1']")).click 谢谢大家的帮助!节日快乐! 能否附上原始问题的链接? 【参考方案1】:

如前所述,该行存在各种语法错误:

browser.findelement(By.xpath("//[@id='ContentPlaceHolder1_ASPxPanel1_SearchByPIN1_txtPIN1'])").click

应该是这样的:

browser.find_element(By.XPATH,"//input[@id='ContentPlaceHolder1_ASPxPanel1_SearchByPIN1_txtPIN1']").click()

最好应用一些等待。

# Imports Required:
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

driver.get("https://www.cookcountytreasurer.com/setsearchparameters.aspx")

wait = WebDriverWait(driver,30)

elementID1 = wait.until(EC.element_to_be_clickable((By.XPATH,"//input[@id='ContentPlaceHolder1_ASPxPanel1_SearchByPIN1_txtPIN1']")))
elementID1.send_keys("17")

【讨论】:

以上是关于*跟进** 我正在尝试使用 Selenium 在网站框中输入一个整数,但我在 send_keys 上遇到了无效的语法错误的主要内容,如果未能解决你的问题,请参考以下文章

我正在尝试使用selenium webdriver从Instagram中删除名称?

跨域 REST POST 进行预检但没有跟进

我究竟做错了啥?我正在尝试将 selenium 依赖项添加到 Intellij,但我不断收到错误

org.openqa.selenium.UnsupportedCommandException:使用Selenium找不到可变资源

尝试与 Bamboo 一起运行时,Selenium 测试挂起

如何使用 selenium 记录 mathjax 加载时间