我对硒有疑问。
def main_test():
chrome_options = Options()
prefs = {"download.default_directory": f"{os.getcwd()}/Music"}
chrome_options.add_argument("user-data-dir=selenium")
chrome_options.add_experimental_option("prefs", prefs)
dr = webdriver.Chrome(options=chrome_options, service=Service(ChromeDriverManager().install()))
dr.get(URL)
print(f"{selenium.__version__=}")
dr.find_element(By.XPATH, "/html/body/div[1]/div[1]/div/div[1]/ul/li[2]/a").click()
dr.quit()
if __name__ == '__main__':
main_test()
这是我的代码。我想我正确地遵循了文档。虽然,运行应用程序时我收到此错误:
selenium.__version__='4.6.0'
Traceback (most recent call last):
File "/Users/andrea/Dev/Python/custom_scripts/ytchannel/main.py", line 142, in <module>
main_test()
File "/Users/andrea/Dev/Python/custom_scripts/ytchannel/main.py", line 137, in main_test
dr.find_element(By.XPATH, "/html/body/div[1]/div[1]/div/div[1]/ul/li[2]/a").click()
AttributeError: type object 'By' has no attribute 'XPATH'
我不知道我做错了什么...... 如果需要,我可以添加所有可能的细节。
编辑: 这是我的进口:
import socket
import httpcore
import re
import os
import json
import selenium
import httpx as web
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.by import By
from bs4 import BeautifulSoup
from time import sleep
您的代码看起来正确。
确保您正确导入了
By
。from selenium.webdriver.common.by import By
enter code here
#你好,这是我的代码
enter code here
来自 selenium.webdriver.common.by 导入
enter code here
从 selenium 导入 webdriver
enter code here
导入请求
enter code here
来自 lxml 导入 etree
enter code here
导入时间
enter code here
url = 'https://www.baidu.com'
enter code here
driver = webdriver.Chrome()
enter code here
driver.get(url)
enter code here
时间.睡眠(3)
enter code here
driver.find_element(by=By.XPATH, value='//*enter code here
[@id="kw"]').send_keys('python')
enter code here
时间.睡眠(3)
enter code here
driver.find_element(by=By.ID,value='su').click()
enter code here
时间.睡眠(10)
enter code here
退出()
enter code here
#不报告错误