我想使用for循环从网站中提取用户,但我不知道如何才能正确使用"我"而不是数字1
之后
user_id = browser.find_element_by_xpath("(//div[@class='_gzjax'])["+str(i)+"]").text
Traceback(最近一次调用最后一次):文件" D:/ Code / Python / Instagram 取消关注/ Instagram取消关注.py",第32行,in user_id = browser.find_element_by_xpath("(// div [@class =' _gzjax'])[" + str(i)+"]")。文本 文件 " C:\ Python33 \ lib中\站点包\硒\的webdriver \远程\ webdriver.py&#34 ;, 第293行,在find_element_by_xpath中 return self.find_element(by = By.XPATH,value = xpath)File" C:\ Python33 \ lib \ site-packages \ selenium \ webdriver \ remote \ webdriver.py", 第752行,在find_element中 '价值':价值})['价值']文件" C:\ Python33 \ lib \ site-packages \ selenium \ webdriver \ remote \ webdriver.py" , 第236行,执行中 self.error_handler.check_response(response)File" C:\ Python33 \ lib \ site-packages \ selenium \ webdriver \ remote \ errorhandler.py", 第192行,在check_response中 raise exception_class(message,screen,stacktrace)selenium.common.exceptions.NoSuchElementException:消息:无法 定位元素: {"方法":"的xpath""选择器":"(// DIV [@class =' gzjax&#39 ])[0]"} 堆栈跟踪: 在FirefoxDriver.prototype.findElementInternal (file:/// c:/users/viktor/appdata/local/temp/tmp1r0vgw/extensions/fxdriver@googlecode.com/components/driver-component.js:10770) 在FirefoxDriver.prototype.findElement(file:/// c:/users/viktor/appdata/local/temp/tmp1r0vgw/extensions/fxdriver@googlecode.com/components/driver-component.js:10779) 在DelayedCommand.prototype.executeInternal_ / h(file:/// c:/users/viktor/appdata/local/temp/tmp1r0vgw/extensions/fxdriver@googlecode.com/components/command-processor.js:12661) 在DelayedCommand.prototype.executeInternal_(file:/// c:/users/viktor/appdata/local/temp/tmp1r0vgw/extensions/fxdriver@googlecode.com/components/command-processor.js:12666) 在DelayedCommand.prototype.execute /< (文件:/// C:/users/viktor/appdata/local/temp/tmp1r0vgw/extensions/fxdriver@googlecode.com/components/command-processor.js:12608)
答案 0 :(得分:1)
只需将i
(首先将其转换为字符串)连接到所需的字符串:
for i in range (0,100):
user_id = browser.find_element_by_xpath("(//div[@class='_gzjax'])["+str(i)+"]").text
print(user_id)
答案 1 :(得分:1)
试试这个。我认为你在python中使用加号将变量连接成字符串:
user_id = browser.find_element_by_xpath("(//div[@class='_gzjax'])["+i+"]").text
看看我们如何添加("字符串" +变量+"字符串")
答案 2 :(得分:0)
您需要将i
从int显式转换为字符串。怎么样:
for i in range (0,100):
user_id = browser.find_element_by_xpath("(//div[@class='_gzjax'])["+str(i)+"]").text
print(user_id)
答案 3 :(得分:0)
我不知道页面上有多少用户,但是现在你已经被绑定到了101.
可以循环遍历元素吗?
for i in browser.find_element_by_xpath("(//div[@class='_gzjax'])"):
user_id = i.text
print(user_id)
沿着这些行迭代项而不是索引的东西。