【发布时间】:2019-01-29 06:27:02
【问题描述】:
目前使用 Selenium+ Python 和这段代码:
browser.get('http://www.google.com')
search = browser.find_element_by_name('q')
search.send_keys("how to search the internet")
search.send_keys(Keys.RETURN) # hit return after you enter search text
time.sleep(5) # sleep for 5 seconds so you can see the results
browser.execute_script("window.scrollTo(0, 873)")
time.sleep(2)
browser.find_element(By.XPATH, '(//h3)[3]/a').click()`
作为我的代码。
会发生什么:转到 Google 并输入单词并点击搜索。向下滚动一点,然后点击第一个链接
我想要什么:我希望能够点击搜索结果页面中的随机链接
如何做到这一点?
编辑:这就是我所说的不必要时的意思: 不必要的1:https://imgur.com/a/70qz89x
不必要的2:https://imgur.com/a/8WWvcnC
这些是我想要的唯一结果: 这个:https://imgur.com/a/eTatFV9
【问题讨论】:
-
您需要从页面中收集链接,然后从该列表中随机选择。有关
choice方法,请参阅random包文档。 -
感谢您的帮助。我想出了如何从页面收集所有链接。但是,有些链接是不必要的。是否可以排除它们?
-
如果您有不必要的链接,那么您的选择器并不完美。使用更具体的选择器来摆脱它们
-
嗨@KunwarSodhi,你所说的不必要的链接到底是什么意思?你想编辑你的帖子,给我们一个你需要什么的例子 - 确切的链接,我们可以提供一个详细的解决方案。
标签: python selenium selenium-webdriver xpath webdriver