Selenium使用笔记

05. April 2019 Python 0

1.导入要使用的库

from selenium import webdriver
from selenium.webdriver.common.proxy import Proxy, ProxyType

2.设置代理

options = webdriver.ChromeOptions()
proxy = Proxy()
//设置手动代理模式
proxy.proxyType = ProxyType.MANUAL
//不自动坚持web代理
proxy.autodetect = False
//设置本地代理地址
proxy.httpProxy = proxy.sslProxy = proxy.socksProxy = "127.0.0.1:1080"
options.Proxy = proxy
options.add_argument("ignore-certificate-errors")
//设置浏览器无界面模式
options.add_argument('--headless')

driver = webdriver.Chrome(chrome_options=options,
driver.set_window_size(1200, 800)
executable_path="./chromedriver")

3.获取节点组

overview_urls = driver.find_elements_by_xpath('//*[@id="wrapper"]/div[1]/div[2]/div[1]/div[2]/div/div/a')
for show_page in overview_urls:
url = show_page.get_attribute("href")

4.ElementNotVisibleException异常原因

  • 页响应时间慢,添加driver.implicitly_wait(10)
  • 定位有问题,在chrome中验证,xpath可使用XPath Helper
  • 定位条件不唯一,如class中含有复合类
  • 检测该元素以及父级元素是否为不可见
    • visibility是否为hidden
    • display是否为none
    • opacity是否为0
    • height和width是否都大于0
  • 是否有相同的元素


Leave a Reply

Your email address will not be published. Required fields are marked *