Selenium 从表元素中搜索数据
Posted
技术标签:
【中文标题】Selenium 从表元素中搜索数据【英文标题】:Selenium search data from a table element 【发布时间】:2016-04-22 20:35:43 【问题描述】:我正在尝试使用 Selenium 查找并填写表单,但我必须从 mysql 表中选择 id。用mysql fetchone 是没有问题的。问题是当我向 selenium 代码添加变量时,它给了我这个错误:
传入的定位值无效。
这是我的代码:
import pymysql
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='xxx', db='python')
cur = conn.cursor()
z=1
cur.execute("SELECT id_1 FROM deneme WHERE id=%s" %(z))
search = cur.fetchone()
chromedriver = 'C:\\chromedriver.exe'
browser = webdriver.Chrome(chromedriver)
browser.get('https://e-okul.meb.gov.tr/')
a = input ("input something when the page is loaded")
Y = input ("write your comments")
element = find_element_by_id(search)
element.send_keys (y)
这可能是因为 fetchone 代码给了元素一些 标点。但是我该如何解决这个问题呢?
谢谢
【问题讨论】:
应该是element = browser.find_element_by_id(search)
是browser.find,我把它写错了。
【参考方案1】:
我通过在 fetchone()
方法调用的末尾添加 [0] 解决了我的问题。
search = cur.fetchone()[0]
【讨论】:
以上是关于Selenium 从表元素中搜索数据的主要内容,如果未能解决你的问题,请参考以下文章
添加一些 html 元素后,typeahead 不会从表中获取数据
java+selenium+new——判断某个元素是否显示 driver.findElementById("kw").isDisplayed()——判断某个元素是否可用 Sys