这样找不到元素时,会直接报错。
browser.find_element_by_xpath('//a[@id="xxx"]')
这样找不到则返回一个空列表。
browser.find_elements_by_xpath('//a[@id="xxx"]')
当在selenium中,用xpath选择的元素class属性有空格时候,这样选是错误的,比如:
browser.find_elements_by_xpath('//a[@class="xxx bbb"]')
用新的标签页打开网址:
from selenium import webdriver
browser = webdriver.Chrome()
browser.get('https://www.baidu.com')
js = 'window.open("https://www.baidu.com")'
browser.execute_script(js)
handles = browser.window_handles # 获取当前窗口句柄集合(列表类型)
browser.switch_to.window(handles[-1]) # 控制权转移到新的窗口
操作本机本身的浏览器:
- 先在1.py中:
import os
cmd = '"C:/Program Files (x86)/Google/Chrome/Application/chrome.exe" --remote-debugging-port=8888'
os.system(cmd)
- 再到2.py中:
from selenium import webdriver
options = webdriver.ChromeOptions()
options.debugger_address = "127.0.0.1:8888"
browser = webdriver.Chrome(chrome_options=options)
browser.get('https://www.baidu.com')