python - 使用 Selenium 搜索元素时指定了非法选择器或找不到 xpath 错误
问题描述
尝试构建一个小型机器人来帮助交易,但由于某种原因,代码在尝试搜索工具时会出现一系列略有不同的错误。
keyboard = Controller()
self.driver = webdriver.Chrome()
self.driver.get("https://app.libertex.com/")
self.driver.find_element(By.XPATH, "//input[@value=\'\']").click()
self.driver.find_element(By.CSS_SELECTOR, ".active > input:nth-child(2)").send_keys("gold")
self.driver.find_element(By.CSS_SELECTOR, "css=.active > .link-to-profile > .a-btn").click() #*tried doing CSS_Selector and the Xpaths ,xpath=//input ,xpath=//header[@id='region-header']/div/div/div[3]/input each giving different errors
keyboard.press(Keys.ENTER)
keyboard.release(Keys.ENTER)
每个都给出不同的错误,例如:
illegalselector was specified or could not find xpath
我只是感到困惑,因为 SeleniumIDE 版本运行良好,没有任何问题。
Iv 尝试同时使用 CSS 选择器方式、Xpath 方式和模仿按键。似乎没有任何效果。
同样在旁注整个代码直观地显示了该过程。与没有视觉效果的代码只是在后面运行相比,这种方式是否要求更高且速度更慢..如果是这样,请您推荐一个可以做到这一点的工具
在 cmd 中运行的 selenium 下载命令是
pip install selenium
解决方案
行内的所有定位器策略:
self.driver.find_element(By.CSS_SELECTOR, "css=.active > .link-to-profile > .a-btn").click() #*tried doing CSS_Selector and the Xpaths ,xpath=//input ,xpath=//header[@id='region-header']/div/div/div[3]/input each giving different errors
似乎有点不对劲。
而不是
By.CSS_SELECTOR, "css=.active > .link-to-profile > .a-btn"
你需要使用:By.CSS_SELECTOR, ".active > .link-to-profile > .a-btn"
而不是
xpath=//input
你需要使用:By.XPATH, "//input"
而不是
xpath=//header[@id='region-header']/div/div/div[3]/input
你需要使用:By.XPATH, "//header[@id='region-header']/div/div/div[3]/input"
推荐阅读
- python - 错误“不能将序列乘以‘float’类型的非整数”试图绘制 NACA 翼型
- r - 在 python 中为 R 找到的输入函数的等价物是什么?
- google-apps-script - Web 应用程序要求用户登录,即使它已被部署为“任何人,甚至匿名”使用
- sorting - GraphQL:基于用户属性的排序查询
- php - 如何在 PHP 5.6 上安装 Xdebug
- python - 如何在 Python 对象列表上使用 np.where 来返回匹配条件的内部对象?
- apache-spark - Spark Thrift 直线:未设置必填字段“client_protocol”
- cygwin - cmder 将错误的字符传递给控制台
- java - 为什么我在运行我的应用程序时收到此错误?
- java - 如何循环数组的“n”维?