【Selenium Python

  • 文档:、。貌似后者只是前者的一个章节。

【Selenium Python WebDriver

  • 设置浏览器窗口大小:。

  • 获取cookie:。

  • 保存当前页面:。

  • 保存当前页面截图:。

  • 元素查找:

  • 去掉链接的新标签页打开属性(target="_blank"):

aEle = Driver.find_elements_by_tag_name('a'):Driver.execute_script("arguments[0].removeAttribute('target')", aEle)
  • 切换 iframe:

【Selenium Python WebElement

  • 文本框清空:

  • 文本框填写:

  • 按钮(元素)点击:

  • 定位元素坐标:

  • 将元素移动到可视区域并返回移动后的坐标:

  • 获取元素的宽度和高度:

  • 保存元素截图:

【Selenium Python Firefox

  • Firefox驱动:

  • 禁止firefox加载图片:

  • Firefox设置代理:

profile = webdriver.FirefoxProfile()profile.set_preference("network.proxy.type", 1)profile.set_preference("network.proxy.http", ProxyAddr)profile.set_preference("network.proxy.http_port", ProxyPort)Driver = webdriver.Firefox(profile)
  • 如果不在环境变量中设置驱动路径,可以用executable_path指定驱动文件路径:

webdriver.Firefox(executable_path=r'E:\webdriver\geckodriver.exe')

【Selenium Python Chrome

  • Chrome驱动:

  • 禁止Chrome加载图片:、

  • 如果不在环境变量(Path)中设置驱动路径,可以用executable_path指定驱动文件路径:

webdriver.Chrome(executable_path=r'E:\webdriver\chromedriver.exe')
  • selenium3、chorme55下的一些配置。

chromeOptions = webdriver.ChromeOptions()prefs = {}#禁用图片prefs['profile.managed_default_content_settings.images'] = 2#设置下载目录prefs['download.default_directory'] = 'D:/tmp'chromeOptions.add_experimental_option("prefs",prefs)browser = webdriver.Chrome(chrome_options=chromeOptions)

【FAQ】

  • 元素不可点击,报类似这种错误:

selenium.common.exceptions.WebDriverException: Message: unknown error: Element ... is not clickable at point (693, 639). Other element would receive the click

可能原因是元素不在可视区域内,可通过滚动页面或去掉上面遮挡的元素再点击。

【相关阅读】

*** * Updated 2016-12-2 ***