鱼C论坛

 找回密码
 立即注册
查看: 2750|回复: 2

自动化元素点击中的正则表达问题

[复制链接]
发表于 2023-1-10 14:54:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
import requests
from lxml import etree
import csv
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
from selenium.webdriver.support.ui import WebDriverWait 
import requests
import base64
import selenium.webdriver.support.expected_conditions as EC
import datetime
import urllib.request
import re
import os
import PyPDF2
from PyPDF2 import PdfFileReader
from bs4 import BeautifulSoup
import io
from selenium.webdriver.common.by import By

from selenium.webdriver.chrome.options import Options



s = requests.Session()

fb = webdriver.FirefoxProfile.DEFAULT_PREFERENCES
# op = webdriver.FirefoxOptions()
# op.set_preference({'user-data-dir':''})
c = webdriver.ChromeOptions()
c.add_argument('--user-data-dir=D:/AutomationProfile')
c.add_argument('--headless')
# c.add_argument(f'user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36')
driver = webdriver.Chrome()

driver.get('https://www.jiaoyifamen.com/variety/research-report')  

time.sleep(5)

driver.find_element(By.XPATH, '//div[text()="中粮期货-玉米日报20230110"]').click()

time.sleep(3)

我想要实现:点击含有“玉米”的链接。能够使用正则表达的方式实现吗?(设想中的是:
driver.find_element(By.XPATH, '//div[text()="(.*)玉米(.*)"]').click()
)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-1-10 15:24:41 | 显示全部楼层
driver.find_element(By.XPATH, '//div[contains(text(),"玉米")]').click()
xpath并不直接支持re
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-1-10 16:39:30 | 显示全部楼层
本帖最后由 isdkz 于 2023-1-10 16:41 编辑

xpath不能使用正则表达式,但是有一个模糊定位,你直接搜 xpath 模糊定位

xpath模糊定位
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-25 01:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表