python - 将变量传递给 By.CSS_SELECTOR,得到 InvalidSelectorException Python
问题描述
我正在尝试将变量传递给函数并将它们插入到 Find_element(By.CSS_Selector...) 语句中。当数据被硬编码时,语句有效,当我插入变量时它失败。
该声明有效:
Def makeTee()
driver.find_element(By.CSS_SELECTOR, ".rwdTr:nth-child(65) select").click()
当我尝试将变量传递给函数并将其插入到同一个语句 CSS_SELECT 中时,它会因 InvalidSelectorException 而失败。
Def makeTee(teeTime)
driver.find_element(By.CSS_SELECTOR, ".rwdTr:nth-child(teeTime) select").click()
teeIndex = 65
makeTee(teeIndex)
我尝试在一个非常简单的替换示例中使用格式,但仍然没有运气。
Def makeTee()
driver.find_element(By.CSS_SELECTOR, ".rwdTr:nth-child({}) select").format(65).click()
makeTee()
解决方案
由于 find_element 需要一个字符串作为第二个参数,因此您的 .format 应该应用于字符串,而不是 find_element 的返回。
例如driver.find_element(By.CSS_SELECTOR, ".rwdTr:nth-child({}) select".format(65)).click()
推荐阅读
- python-3.x - 使用 Python3 的 Kraken API 'EAPI:Invalid key'
- python - 使用 re python 查找获取请求的路径
- java - 从另一个类调用方法时自动装配的组件空指针异常
- excel - 使用当前区域的偏移量获得重复
- vba - 将文件夹中的所有文件作为单独的附件发送
- mono - Mono 在两台不同的机器上的行为略有不同
- c# - 如何检查文件是否已完全写入磁盘?
- r - R获取基于其他几列的一列的值和一列的最大值?
- string - 如何用多个分隔符划分字符串,但分隔符保留包含在数组中?(VB.NET)
- c# - 在 PDF 中查找和替换字符串