Python:如何在click()

时间:2016-03-25 18:48:22

标签: python regex

我已成功编写Python代码以打开网站,然后点击链接。之后,我想从“活跃”的网站获取信息。但我收到以下错误:
Search = Regex.search(res.text) AttributeError:'NoneType'对象没有属性'text'

我认为问题在于我不知道如何将点击的网页“定义”为变量。以下是相关的代码:

import re, requests, csv, pyperclip, logging
from selenium import webdriver
browser = webdriver.Firefox()
browser.get('http://espn.go.com/golf/players')
find_player = browser.find_element_by_partial_link_text("Allenby, Robert")
res = find_player.click()
xRegex = re.compile(r'(1991)')
xSearch = xRegex.search(res.text)
output_player_name = xSearch.group(1)

这是我的第一个Python编码经验,也是我提出问题的第一篇文章。提前感谢您的帮助。

PS我知道1991年出现在网页上。这是Robert Allenby转为职业选手的一年。

2 个答案:

答案 0 :(得分:0)

WebElement的类型为NoneType,res的类型为browser。点击的网页保存在变量{{1}}中。您可以使用find_element_by_partial_link_text等函数来查找所需内容。

顺便问一下,你想要完成什么?它可以帮助我更好地回答你的问题。

答案 1 :(得分:0)

find_element_by_partial_link_text()返回一个锚链接,单击是浏览器中返回None的事件。要获取页面内容,请使用browser.page_source并按照要求进行处理。

import re
from selenium import webdriver
browser = webdriver.Firefox()
browser.get('http://espn.go.com/golf/players')
href_link = browser.find_element_by_partial_link_text("Allenby")
href_link.click()
res = browser.page_source
print res
xRegex = re.compile(r'(1991)')
xSearch = xRegex.search(res)
output_player_name = xSearch.group(1)
print output_player_name

希望这会有所帮助:)