我一直在尝试构建一个机器人,它可以刮去喜欢instagram图片的粉丝的名字。网站会打开一个弹出框,旁边有帐户,当你滚动时,该框似乎会刷新帐户链接。我已经编写了一个代码,可以打开这个框,然后滚动它,但我无法让selenium删除帐户名。我的代码如下所示滚动弹出框:
realscroll_box = browser.find_element_by_xpath('/html/body/div[4]/div/div[3]/div')
while last_ht != ht:
last_ht = ht
time.sleep(2)
ht = browser.execute_script('''
arguments[0].scrollTo(0, arguments[0].scrollHeight);
return arguments[0].scrollHeight;
''', realscroll_box)
namelinkstemp1 = realscroll_box.find_elements_by_xpath('//*[contains(@href,"/")')
但它给了我一个错误:
selenium.common.exceptions.InvalidSelectorException:消息:选择器无效:由于以下错误,无法找到xpath表达式为/[starrts with(@href,“/”)的元素: 语法错误:未能对“文档”执行“评估”:字符串“/[starrts with(@href,“/”)不是有效的XPath表达式
我试图提取的文本如下所示:
<a title="instagramusername" href="/instagramusername/">
<div class=" Igw0E IwRSH eGOV_ ybXk5 _4EzTm ">
<div class="_7UhW9 xLCgt qyrsm KV-D4 fDxYl rWtOq">
<div class=" Igw0E rBNOH eGOV_ ybXk5 _4EzTm ">instagramusername</div>
</div>
</div>
</a>
非常感谢您的帮助,xpath查询对我来说非常陌生
谢谢:)
以开始函数根据属性值查找元素。代码中的函数不正确。还有
//*[contains(@href,"/")
,这里您错过了]
正确的一个://a[contains(@href, '/')]
或
相关问题 更多 >
编程相关推荐