需要在 XPath 的 Selenium Find 中使用单引号、双引号和变量 (Python)

need to use single, double quote and variables in selenium find by xpath (python)

提问人:Gameisongoing 提问时间:8/18/2018 更新时间:8/18/2018 访问量:154

问:

我想通过使用 Xpath 函数的 selenium find 获取 Web 数据。我需要提取以下多个信息:

info1=browser.find_element_by_xpath('//*[@id="res-results-table"]/tbody/tr[1]/td[1]/a')
info2=browser.find_element_by_xpath('//*[@id="res-results-table"]/tbody/tr[2]/td[1]/a')
info3=browser.find_element_by_xpath('//*[@id="res-results-table"]/tbody/tr[3]/td[1]/a')

我想使用变量,但似乎有些不对劲。我所做的是:

info=[]
for i in range (1,4)
    info[i] = browser.find_element_by_xpath('\'//*[@id="res-results-table"]/tbody/tr['+str(i)+']/td[1]/a\'')

有人可以帮忙吗?谢谢!

python-3.x 变量 xpath selenium-chromedriver 报价

评论

0赞 Grisha Levit 8/18/2018
你不需要这个零件。只\'by_xpath('//*[@id="res-results-table"]/tbody/tr['+str(i)+']/td[1]/a')
0赞 Andersson 8/18/2018
@Gameisongoing,恕我直言,最好不要使用这种字符串连接。还有更多的 Python 方法可以做同样的事情,例如 或'//*[@id="res-results-table"]/tbody/tr[%s]/td[1]/a' % i'//*[@id="res-results-table"]/tbody/tr[{}]/td[1]/a'.format(i)
0赞 Gameisongoing 8/18/2018
谢谢!我是初学者,会谷歌并尝试了解您的解决方案,它看起来很漂亮,而且 Pythonic !

答: 暂无答案