【发布时间】:2017-06-28 15:12:47
【问题描述】:
这是网页的链接。
当我运行以下代码时,它会成功执行
import pip
package_name = 'selenium'
pip.main(['install', package_name])
from selenium import webdriver
driver = webdriver.Chrome("C:\All\chromedriver_win32\chromedriver.exe")
#Chromedriver is needed on your machine but sometimes webdriver.Chrome() works as well
driver.get('https://shop.techdata.com/')
driver.set_page_load_timeout(30)
driver.find_element_by_id("quickSearchBox").send_keys("printer")
driver.find_element_by_id("quickSearch").click()
结果我得到了以下网页,这是成功的:
https://shop.techdata.com/searchall?b=1&kw=printer
我的问题从这里开始 现在在出现的搜索结果中,我想得到名为 EPSON 的公司的所有打印机的位置(它出现在第 14 位,第 15 位和第 16 位)
所以我做了以下交集,但输出集为空。
search_elements = driver.find_elements_by_class_name('productContent')
EPSON_elements = driver.find_elements_by_partial_link_text('EPSON')
print('search_elements',search_elements)
print('EPSON_elements>',EPSON_elements)
elements = set(search_elements).intersection(set(EPSON_elements))
print('Common elements>', elements)
当我打印搜索元素和 epson 元素时,计数正确。它给出了 25 个搜索元素和 3 个 epson 元素,我手动检查了它们并且它是正确的,但现在它无法找到交集并且共同元素的输出设置为空。
所以我的问题是.. 我如何找到第 8、9 和第 10 的位置?
【问题讨论】:
标签: python html selenium-webdriver