我正在尝试计算https://smallpdf.com/word-to-pdf上“所有工具”下拉菜单中显示的所有选项
因此,总数应为18,但对于下拉菜单中显示的选项,代码计算为12
运行代码时,您能否检查此站点并为我提供正确的代码,以计算“所有菜单”下拉菜单中子菜单项的正确计数。
这是我的代码和屏幕截图: { driver.get(“ https://smallpdf.com/word-to-pdf”);
driver.manage()。window()。maximize();
dfs = []
for page in range(1, 3):
page = (page - 1) * 10
url = "%s%s%d" % (main_url, start_from, page) # get full url
indeed = requests.get(url)
indeed.raise_for_status()
soup = BeautifulSoup(indeed.text, 'html.parser')
...
data_record = []
for title, company, city, summary, link in zip(jobsTitle, companiesName, citiesName, jobsSummary, jobsLink):
data_record.append({'Job Title': title, 'Company': company, 'City': city, 'Summary': summary, 'Job Link': link})
df = pd.DataFrame(data_record, columns=['Job Title', 'Company', 'City', 'Summary', 'Job Link'])
dfs.append(df)
df_fin = pd.concat(dfs, ignore_index=True)
答案 0 :(得分:0)
使用此xPath
:
//div[@class='smpdf_379Xjwyb9lWVFS smpdf_2-apaRtNmCROQL']//li/ul/li
完整代码:
driver.manage().window().maximize();
driver.findElement(By.xpath("//div[@class='smpdf_BsrfvsQ6t09wiN']")).click();
Thread.sleep(2000);
int count = driver.findElements(By.xpath("//div[@class='smpdf_379Xjwyb9lWVFS smpdf_2-apaRtNmCROQL']//li/ul/li")).size();
System.out.println(count);
输出:
18
编辑:
您已要求向您展示如何找到xPath。这是一个屏幕截图,显示:
答案 1 :(得分:0)
您的xpath没有指向正确的选项列表。
您可以先找到期望div的div,然后使用上述div元素找到期望的列表选项
编辑: 工作代码:
driver.get("https://smallpdf.com/word-to-pdf");
driver.manage().window().maximize();
driver.findElement(By.xpath("//div[@class='smpdf_BsrfvsQ6t09wiN']")).click();
WebElement container=driver.findElement(By.xpath("//div[@class='smpdf_379Xjwyb9lWVFS smpdf_2-apaRtNmCROQL']"));
int count=container.findElements(By.xpath(".//li/ul/li")).size();
System.out.println("Count :"+count);
答案 2 :(得分:0)
尝试使用此xpath和代码
read