Python - send_keys和selenium的属性错误

时间:2017-12-31 18:29:44

标签: python selenium

我正在尝试进行反向搜索,当我尝试从图像的href复制链接时出现错误,这是代码中的一部分:

w.find_element_by_xpath('//[@id="firstcolumn"]/div[2]/a/img').get_attribute("href").send_keys(Keys.CONTROL + 'c')

已经尝试过了

elem = w.find_element_by_xpath('//*[@id="firstcolumn"]/div[2]/a/img').get_attribute("href")
elem.send_keys(Keys.CONTROL + 'c')

在这两种情况下,返回的错误都是:

Traceback (most recent call last):
  File "C:\Python27\name.py", line 11, in <module>
    w.find_element_by_xpath('//*[@id="firstcolumn"]/div[2]/a/img').get_attribute("href").send_keys(Keys.CONTROL + 'c')
AttributeError: 'NoneType' object has no attribute 'send_keys'

提前致谢!

2 个答案:

答案 0 :(得分:0)

那是因为.get_attribute("")返回string。尝试将它们分成不同的行,

element = w.find_element_by_xpath('//[@id="firstcolumn"]/div[2]/a/img')
element.send_keys(...)
hrefAttribute = element.get_attribute("href")

答案 1 :(得分:0)

.get_attribute()会返回一个字符串,但您已将.send_keys()链接到该行,因此它会抛出错误。根据您的描述,我认为您要做的是

url = w.find_element_by_xpath('//*[@id="firstcolumn"]/div[2]/a/img').get_attribute("href")

其中url是一个字符串,其中包含您所找到图片的href的网址。那么你可以

w.get(url)

导航到该图片,或者您可以解析url以获取文件名或任何您想要的内容。